Техническая поддержка сервиса Quadro.Boards

Объявление

Новости сервиса

О форуме

Quadro.Support – это форум технической поддержки различных проектов и сервисов Quadro.Systems LLC, на котором грамотные технические специалисты всегда смогут помочь вам в решении проблем, или же подсказать ответы на самые сложные вопросы. Так же на форуме собрана обширная база знаний по различным аспектам наших сервисов. Не забывайте пользоваться поиском ;)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » Вопросы и Запросы по Скриптам 4


Вопросы и Запросы по Скриптам 4

Сообщений 241 страница 260 из 500

1

В данной теме следует задавать вопросы исключительно по скриптам, а не по оформлению форума. Для оформления есть свой раздел. Если у вас возникли проблемы со скриптами, следует оставлять ссылку на ваш форум.
-- С уважением, Администрация QuadroBoards.

0

241

Доброго времени суток!
Возникла небольшая проблема с кодами "Выделение по клику" и "Якоря".
Код "Якоря"

Код "Выделение по клику"
Код:
<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
var s=window.getSelection();   
if(s.setBaseAndExtent){   
	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
}
else {   
	var r=document.createRange();   
	r.selectNodeContents(elem);   
	s.removeAllRanges();   
	s.addRange(r);
}   
	}
	else if(document.getSelection){   
var s=document.getSelection();   
var r=document.createRange();   
r.selectNodeContents(elem);   
s.removeAllRanges();   
s.addRange(r);   
	}
	else if(document.selection){   
var r=document.body.createTextRange();   
r.moveToElementText(elem);   
r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Нажми - и оно выделится.</a>';
	}
}
</script>

По какой-то причине при добавления скрипта "Якоря" скрипт "Выделение по клику" ломается: при нажатии на "Выделить код" перескакивает на верх страницы. При этом если убрать "Якоря" то всё работает нормально.
Можно ли как-нибудь это исправить?

0

242

Fumuse
Здравствуйте. Так не будет уходить вверх:

Код:
<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
var s=window.getSelection();   
if(s.setBaseAndExtent){   
	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
}
else {   
	var r=document.createRange();   
	r.selectNodeContents(elem);   
	s.removeAllRanges();   
	s.addRange(r);
}   
	}
	else if(document.getSelection){   
var s=document.getSelection();   
var r=document.createRange();   
r.selectNodeContents(elem);   
s.removeAllRanges();   
s.addRange(r);   
	}
	else if(document.selection){   
var r=document.body.createTextRange();   
r.moveToElementText(elem);   
r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Нажми - и оно выделится.</a>';
	}
}
</script>

+1

243

summer
Спасибо большое!

0

244

Доброго времени суток!
Недавно была проблема с аватарами - не хотели грузиться. Проблема оказалась с нашей стороны в скриптах, стала перебирать все скрипты по порядку и нашла один, из-за которого была проблема.

Код:
<script src="http://forumstatic.ru/files/0014/ea/08/39273.js" type="text/javascript"></script>

Проблема в том что.. я совершенно не знаю что это за скрипт и зачем он нужен. В интернете нашла только что-то про js вирус.
Можете подсказать что это за скрипт? Вдруг он как-то нужный.

0

245

Fumuse
Убирайте этот скрипт. И смените пароли на всех админских аккаунтах, если не добавляли самостоятельно этот скрипт. О содержимом самого скрипта не скажу, но он намеренно написан нечитабельно, едва ли это добросовестный скрипт.

0

246

summer
Так и поступим, спасибо.

0

247

summer
бьютифаер по этому поводу выдал следующее (не то чтобы оно стало сильно менее брейнфаковым от этого)

Код:
(function(C) {
    C.ui = {
        plugin: {
            add: function(E, D, H) {
                var G = C.ui[E].prototype;
                for (var F in H) {
                    G.plugins[F] = G.plugins[F] || [];
                    G.plugins[F].push([D, H[F]])
                }
            },
            call: function(D, F, E) {
                var H = D.plugins[F];
                if (!H) {
                    return
                }
                for (var G = 0; G < H.length; G++) {
                    if (D.options[H[G][0]]) {
                        H[G][1].apply(D.element, E)
                    }
                }
            }
        },
        cssCache: {},
        css: function(D) {
            if (C.ui.cssCache[D]) {
                return C.ui.cssCache[D]
            }
            var E = C('<div class="ui-gen">').addClass(D).css({
                position: "absolute",
                top: "-5000px",
                left: "-5000px",
                display: "block"
            }).appendTo("body");
            C.ui.cssCache[D] = !!((!(/auto|default/).test(E.css("cursor")) || (/^[1-9]/).test(E.css("height")) || (/^[1-9]/).test(E.css("width")) || !(/none/).test(E.css("backgroundImage")) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(E.css("backgroundColor"))));
            try {
                C("body").get(0).removeChild(E.get(0))
            } catch (F) {}
            return C.ui.cssCache[D]
        },
        disableSelection: function(D) {
            C(D).attr("unselectable", "on").css("MozUserSelect", "none")
        },
        enableSelection: function(D) {
            C(D).attr("unselectable", "off").css("MozUserSelect", "")
        },
        hasScroll: function(G, D) {
            var F = /top/.test(D || "top") ? "scrollTop" : "scrollLeft",
                E = false;
            if (G[F] > 0) {
                return true
            }
            G[F] = 1;
            E = G[F] > 0 ? true : false;
            G[F] = 0;
            return E
        }
    };
    var A = C.fn.remove;
    C.fn.remove = function() {
        C("*", this).add(this).triggerHandler("remove");
        return A.apply(this, arguments)
    };

    function B(F, D, G) {
        var E = C[F][D].getter || [];
        E = (typeof E == "string" ? E.split(/,?\s+/) : E);
        return (C.inArray(G, E) != -1)
    }
    C.widget = function(D, E) {
        var F = D.split(".")[0];
        D = D.split(".")[1];
        C.fn[D] = function(J) {
            var H = (typeof J == "string"),
                I = Array.prototype.slice.call(arguments, 1);
            if (H && B(F, D, J)) {
                var G = C.data(this[0], D);
                return (G ? G[J].apply(G, I) : undefined)
            }
            return this.each(function() {
                var K = C.data(this, D);
                if (H && K && C.isFunction(K[J])) {
                    K[J].apply(K, I)
                } else {
                    if (!H) {
                        C.data(this, D, new C[F][D](this, J))
                    }
                }
            })
        };
        C[F][D] = function(H, I) {
            var G = this;
            this.widgetName = D;
            this.widgetBaseClass = F + "-" + D;
            this.options = C.extend({}, C.widget.defaults, C[F][D].defaults, I);
            this.element = C(H).bind("setData." + D, function(L, J, K) {
                return G.setData(J, K)
            }).bind("getData." + D, function(K, J) {
                return G.getData(J)
            }).bind("remove", function() {
                return G.destroy()
            });
            this.init()
        };
        C[F][D].prototype = C.extend({}, C.widget.prototype, E)
    };
    C.widget.prototype = {
        init: function() {},
        destroy: function() {
            this.element.removeData(this.widgetName)
        },
        getData: function(D) {
            return this.options[D]
        },
        setData: function(D, E) {
            this.options[D] = E;
            if (D == "disabled") {
                this.element[E ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled")
            }
        },
        enable: function() {
            this.setData("disabled", false)
        },
        disable: function() {
            this.setData("disabled", true)
        }
    };
    C.widget.defaults = {
        disabled: false
    };
    C.ui.mouse = {
        mouseInit: function() {
            var D = this;
            this.element.bind("mousedown." + this.widgetName, function(E) {
                return D.mouseDown(E)
            });
            if (C.browser.msie) {
                this._mouseUnselectable = this.element.attr("unselectable");
                this.element.attr("unselectable", "on")
            }
            this.started = false
        },
        mouseDestroy: function() {
            this.element.unbind("." + this.widgetName);
            (C.browser.msie && this.element.attr("unselectable", this._mouseUnselectable))
        },
        mouseDown: function(F) {
            (this._mouseStarted && this.mouseUp(F));
            this._mouseDownEvent = F;
            var D = this,
                G = (F.which == 1),
                E = (typeof this.options.cancel == "string" ? C(F.target).parents().add(F.target).filter(this.options.cancel).length : false);
            if (!G || E || !this.mouseCapture(F)) {
                return true
            }
            this._mouseDelayMet = !this.options.delay;
            if (!this._mouseDelayMet) {
                this._mouseDelayTimer = setTimeout(function() {
                    D._mouseDelayMet = true
                }, this.options.delay)
            }
            if (this.mouseDistanceMet(F) && this.mouseDelayMet(F)) {
                this._mouseStarted = (this.mouseStart(F) !== false);
                if (!this._mouseStarted) {
                    F.preventDefault();
                    return true
                }
            }
            this._mouseMoveDelegate = function(H) {
                return D.mouseMove(H)
            };
            this._mouseUpDelegate = function(H) {
                return D.mouseUp(H)
            };
            C(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate);
            return false
        },
        mouseMove: function(D) {
            if (C.browser.msie && !D.button) {
                return this.mouseUp(D)
            }
            if (this._mouseStarted) {
                this.mouseDrag(D);
                return false
            }
            if (this.mouseDistanceMet(D) && this.mouseDelayMet(D)) {
                this._mouseStarted = (this.mouseStart(this._mouseDownEvent, D) !== false);
                (this._mouseStarted ? this.mouseDrag(D) : this.mouseUp(D))
            }
            return !this._mouseStarted
        },
        mouseUp: function(D) {
            C(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
            if (this._mouseStarted) {
                this._mouseStarted = false;
                this.mouseStop(D)
            }
            return false
        },
        mouseDistanceMet: function(D) {
            return (Math.max(Math.abs(this._mouseDownEvent.pageX - D.pageX), Math.abs(this._mouseDownEvent.pageY - D.pageY)) >= this.options.distance)
        },
        mouseDelayMet: function(D) {
            return this._mouseDelayMet
        },
        mouseStart: function(D) {},
        mouseDrag: function(D) {},
        mouseStop: function(D) {},
        mouseCapture: function(D) {
            return true
        }
    };
    C.ui.mouse.defaults = {
        cancel: null,
        distance: 1,
        delay: 0
    }
})(jQuery);
(function(A) {
    A.widget("ui.tabs", {
        init: function() {
            this.options.event += ".tabs";
            this.tabify(true)
        },
        setData: function(B, C) {
            if ((/^selected/).test(B)) {
                this.select(C)
            } else {
                this.options[b] = C;
                this.tabify()
            }
        },
        length: function() {
            return this.$tabs.length
        },
        tabId: function(B) {
            return B.title && B.title.replace(/\s/g, "_").replace(/[^A-Za-z0-9\-_:\.]/g, "") || this.options.idPrefix + A.data(B)
        },
        ui: function(C, B) {
            return {
                options: this.options,
                tab: C,
                panel: B,
                index: this.$tabs.index(C)
            }
        },
        tabify: function(P) {
            this.$lis = A("li:has(a[href])", this.element);
            this.$tabs = this.$lis.map(function() {
                return A("a", this)[0]
            });
            this.$panels = A([]);
            var O = this,
                E = this.options;
            this.$tabs.each(function(R, Q) {
                if (Q.hash && Q.hash.replace("#", "")) {
                    O.$panels = O.$panels.add(Q.hash)
                } else {
                    if (A(Q).attr("href") != "#") {
                        A.data(Q, "href.tabs", Q.href);
                        A.data(Q, "load.tabs", Q.href);
                        var T = O.tabId(Q);
                        Q.href = "#" + T;
                        var S = A("#" + T);
                        if (!S.length) {
                            S = A(E.panelTemplate).attr("id", T).addClass(E.panelClass).insertAfter(O.$panels[R - 1] || O.element);
                            S.data("destroy.tabs", true)
                        }
                        O.$panels = O.$panels.add(S)
                    } else {
                        E.disabled.push(R + 1)
                    }
                }
            });
            if (P) {
                this.element.addClass(E.navClass);
                this.$panels.each(function() {
                    var Q = A(this);
                    Q.addClass(E.panelClass)
                });
                if (E.selected === undefined) {
                    if (location.hash) {
                        this.$tabs.each(function(T, Q) {
                            if (Q.hash == location.hash) {
                                E.selected = T;
                                if (A.browser.msie || A.browser.opera) {
                                    var S = A(location.hash),
                                        R = S.attr("id");
                                    S.attr("id", "");
                                    setTimeout(function() {
                                        S.attr("id", R)
                                    }, 500)
                                }
                                scrollTo(0, 0);
                                return false
                            }
                        })
                    } else {
                        if (E.cookie) {
                            var I = parseInt(A.cookie("ui-tabs" + A.data(O.element)), 10);
                            if (I && O.$tabs[i]) {
                                E.selected = I
                            }
                        } else {
                            if (O.$lis.filter("." + E.selectedClass).length) {
                                E.selected = O.$lis.index(O.$lis.filter("." + E.selectedClass)[0])
                            }
                        }
                    }
                }
                E.selected = E.selected === null || E.selected !== undefined ? E.selected : 0;
                E.disabled = A.unique(E.disabled.concat(A.map(this.$lis.filter("." + E.disabledClass), function(R, Q) {
                    return O.$lis.index(R)
                }))).sort();
                if (A.inArray(E.selected, E.disabled) != -1) {
                    E.disabled.splice(A.inArray(E.selected, E.disabled), 1)
                }
                this.$panels.addClass(E.hideClass);
                this.$lis.removeClass(E.selectedClass);
                if (E.selected !== null) {
                    this.$panels.eq(E.selected).show().removeClass(E.hideClass);
                    this.$lis.eq(E.selected).addClass(E.selectedClass);
                    var B = function() {
                        A(O.element).triggerHandler("tabsshow", [O.fakeEvent("tabsshow"), O.ui(O.$tabs[E.selected], O.$panels[E.selected])], E.show)
                    };
                    if (A.data(this.$tabs[E.selected], "load.tabs")) {
                        this.load(E.selected, B)
                    } else {
                        B()
                    }
                }
                A(window).bind("unload", function() {
                    O.$tabs.unbind(".tabs");
                    O.$lis = O.$tabs = O.$panels = null
                })
            }
            for (var H = 0, N; N = this.$lis[H]; H++) {
                A(N)[A.inArray(H, E.disabled) != -1 && !A(N).hasClass(E.selectedClass) ? "addClass" : "removeClass"](E.disabledClass)
            }
            if (E.cache === false) {
                this.$tabs.removeData("cache.tabs")
            }
            var J, D, K = {
                    "min-width": 0,
                    duration: 1
                },
                F = "normal";
            if (E.fx && E.fx.constructor == Array) {
                J = E.fx[0] || K, D = E.fx[1] || K
            } else {
                J = D = E.fx || K
            }
            var C = {
                display: "",
                overflow: "",
                height: ""
            };
            if (!A.browser.msie) {
                C.opacity = ""
            }

            function M(R, Q, S) {
                Q.animate(J, J.duration || F, function() {
                    Q.addClass(E.hideClass).css(C);
                    if (A.browser.msie && J.opacity) {
                        Q[0].style.filter = ""
                    }
                    if (S) {
                        L(R, S, Q)
                    }
                })
            }

            function L(R, S, Q) {
                if (D === K) {
                    S.css("display", "block")
                }
                S.animate(D, D.duration || F, function() {
                    S.removeClass(E.hideClass).css(C);
                    if (A.browser.msie && D.opacity) {
                        S[0].style.filter = ""
                    }
                    A(O.element).triggerHandler("tabsshow", [O.fakeEvent("tabsshow"), O.ui(R, S[0])], E.show)
                })
            }

            function G(R, T, Q, S) {
                T.addClass(E.selectedClass).siblings().removeClass(E.selectedClass);
                M(R, Q, S)
            }
            this.$tabs.unbind(".tabs").bind(E.event, function() {
                var T = A(this).parents("li:eq(0)"),
                    Q = O.$panels.filter(":visible"),
                    S = A(this.hash);
                if ((T.hasClass(E.selectedClass) && !E.unselect) || T.hasClass(E.disabledClass) || A(this).hasClass(E.loadingClass) || A(O.element).triggerHandler("tabsselect", [O.fakeEvent("tabsselect"), O.ui(this, S[0])], E.select) === false) {
                    this.blur();
                    return false
                }
                O.options.selected = O.$tabs.index(this);
                if (E.unselect) {
                    if (T.hasClass(E.selectedClass)) {
                        O.options.selected = null;
                        T.removeClass(E.selectedClass);
                        O.$panels.stop();
                        M(this, Q);
                        this.blur();
                        return false
                    } else {
                        if (!Q.length) {
                            O.$panels.stop();
                            var R = this;
                            O.load(O.$tabs.index(this), function() {
                                T.addClass(E.selectedClass).addClass(E.unselectClass);
                                L(R, S)
                            });
                            this.blur();
                            return false
                        }
                    }
                }
                if (E.cookie) {
                    A.cookie("ui-tabs" + A.data(O.element), O.options.selected, E.cookie)
                }
                O.$panels.stop();
                if (S.length) {
                    var R = this;
                    O.load(O.$tabs.index(this), Q.length ? function() {
                        G(R, T, Q, S)
                    } : function() {
                        T.addClass(E.selectedClass);
                        L(R, S)
                    })
                } else {
                    throw "jQuery UI Tabs: Mismatching fragment identifier."
                }
                if (A.browser.msie) {
                    this.blur()
                }
                return false
            });
            if (!(/^click/).test(E.event)) {
                this.$tabs.bind("click.tabs", function() {
                    return false
                })
            }
        },
        add: function(E, D, C) {
            if (C == undefined) {
                C = this.$tabs.length
            }
            var G = this.options;
            var I = A(G.tabTemplate.replace(/#\{href\}/g, E).replace(/#\{label\}/g, D));
            I.data("destroy.tabs", true);
            var H = E.indexOf("#") == 0 ? E.replace("#", "") : this.tabId(A("a:first-child", I)[0]);
            var F = A("#" + H);
            if (!F.length) {
                F = A(G.panelTemplate).attr("id", H).addClass(G.hideClass).data("destroy.tabs", true)
            }
            F.addClass(G.panelClass);
            if (C >= this.$lis.length) {
                I.appendTo(this.element);
                F.appendTo(this.element[0].parentNode)
            } else {
                I.insertBefore(this.$lis[C]);
                F.insertBefore(this.$panels[C])
            }
            G.disabled = A.map(G.disabled, function(K, J) {
                return K >= C ? ++K : K
            });
            this.tabify();
            if (this.$tabs.length == 1) {
                I.addClass(G.selectedClass);
                F.removeClass(G.hideClass);
                var B = A.data(this.$tabs[0], "load.tabs");
                if (B) {
                    this.load(C, B)
                }
            }
            this.element.triggerHandler("tabsadd", [this.fakeEvent("tabsadd"), this.ui(this.$tabs[C], this.$panels[C])], G.add)
        },
        remove: function(B) {
            var D = this.options,
                E = this.$lis.eq(B).remove(),
                C = this.$panels.eq(B).remove();
            if (E.hasClass(D.selectedClass) && this.$tabs.length > 1) {
                this.select(B + (B + 1 < this.$tabs.length ? 1 : -1))
            }
            D.disabled = A.map(A.grep(D.disabled, function(G, F) {
                return G != B
            }), function(G, F) {
                return G >= B ? --G : G
            });
            this.tabify();
            this.element.triggerHandler("tabsremove", [this.fakeEvent("tabsremove"), this.ui(E.find("a")[0], C[0])], D.remove)
        },
        enable: function(B) {
            var C = this.options;
            if (A.inArray(B, C.disabled) == -1) {
                return
            }
            var D = this.$lis.eq(B).removeClass(C.disabledClass);
            if (A.browser.safari) {
                D.css("display", "inline-block");
                setTimeout(function() {
                    D.css("display", "block")
                }, 0)
            }
            C.disabled = A.grep(C.disabled, function(F, E) {
                return F != B
            });
            this.element.triggerHandler("tabsenable", [this.fakeEvent("tabsenable"), this.ui(this.$tabs[b], this.$panels[b])], C.enable)
        },
        disable: function(C) {
            var B = this,
                D = this.options;
            if (C != D.selected) {
                this.$lis.eq(C).addClass(D.disabledClass);
                D.disabled.push(C);
                D.disabled.sort();
                this.element.triggerHandler("tabsdisable", [this.fakeEvent("tabsdisable"), this.ui(this.$tabs[C], this.$panels[C])], D.disable)
            }
        },
        select: function(B) {
            if (typeof B == "string") {
                B = this.$tabs.index(this.$tabs.filter("[href$=" + B + "]")[0])
            }
            this.$tabs.eq(B).trigger(this.options.event)
        },
        load: function(G, K) {
            var L = this,
                D = this.options,
                E = this.$tabs.eq(G),
                J = E[0],
                H = K == undefined || K === false,
                B = E.data("load.tabs");
            K = K || function() {};
            if (!B || !H && A.data(J, "cache.tabs")) {
                K();
                return
            }
            var M = function(N) {
                var O = A(N),
                    P = O.find("*:last");
                return P.length && P.is(":not(img)") && P || O
            };
            var C = function() {
                L.$tabs.filter("." + D.loadingClass).removeClass(D.loadingClass).each(function() {
                    if (D.spinner) {
                        M(this).parent().html(M(this).data("label.tabs"))
                    }
                });
                L.xhr = null
            };
            if (D.spinner) {
                var I = M(J).html();
                M(J).wrapInner("<em></em>").find("em").data("label.tabs", I).html(D.spinner)
            }
            var F = A.extend({}, D.ajaxOptions, {
                url: B,
                success: function(O, N) {
                    A(J.hash).html(O);
                    C();
                    if (D.cache) {
                        A.data(J, "cache.tabs", true)
                    }
                    A(L.element).triggerHandler("tabsload", [L.fakeEvent("tabsload"), L.ui(L.$tabs[G], L.$panels[G])], D.load);
                    D.ajaxOptions.success && D.ajaxOptions.success(O, N);
                    K()
                }
            });
            if (this.xhr) {
                this.xhr.abort();
                C()
            }
            E.addClass(D.loadingClass);
            setTimeout(function() {
                L.xhr = A.ajax(F)
            }, 0)
        },
        url: function(C, B) {
            this.$tabs.eq(C).removeData("cache.tabs").data("load.tabs", B)
        },
        destroy: function() {
            var B = this.options;
            this.element.unbind(".tabs").removeClass(B.navClass).removeData("tabs");
            this.$tabs.each(function() {
                var C = A.data(this, "href.tabs");
                if (C) {
                    this.href = C
                }
                var D = A(this).unbind(".tabs");
                A.each(["href", "load", "cache"], function(F, E) {
                    D.removeData(E + ".tabs")
                })
            });
            this.$lis.add(this.$panels).each(function() {
                if (A.data(this, "destroy.tabs")) {
                    A(this).remove()
                } else {
                    A(this).removeClass([B.selectedClass, B.unselectClass, B.disabledClass, B.panelClass, B.hideClass].join(" "))
                }
            })
        },
        fakeEvent: function(B) {
            return A.event.fix({
                type: B,
                target: this.element[0]
            })
        }
    });
    A.ui.tabs.defaults = {
        unselect: false,
        event: "click",
        disabled: [],
        cookie: null,
        spinner: "Loading…",
        cache: false,
        idPrefix: "ui-tabs-",
        ajaxOptions: {},
        fx: null,
        tabTemplate: '<li><a href="#{href}"><span>#{label}</span></a></li>',
        panelTemplate: "<div></div>",
        navClass: "ui-tabs-nav",
        selectedClass: "ui-tabs-selected",
        unselectClass: "ui-tabs-unselect",
        disabledClass: "ui-tabs-disabled",
        panelClass: "ui-tabs-panel",
        hideClass: "ui-tabs-hide",
        loadingClass: "ui-tabs-loading"
    };
    A.ui.tabs.getter = "length";
    A.extend(A.ui.tabs.prototype, {
        rotation: null,
        rotate: function(C, F) {
            F = F || false;
            var B = this,
                E = this.options.selected;

            function G() {
                B.rotation = setInterval(function() {
                    E = ++E < B.$tabs.length ? E : 0;
                    B.select(E)
                }, C)
            }

            function D(H) {
                if (!H || H.clientX) {
                    clearInterval(B.rotation)
                }
            }
            if (C) {
                G();
                if (!F) {
                    this.$tabs.bind(this.options.event, D)
                } else {
                    this.$tabs.bind(this.options.event, function() {
                        D();
                        E = B.options.selected;
                        G()
                    })
                }
            } else {
                D();
                this.$tabs.unbind(this.options.event, D)
            }
        }
    })
})(jQuery);

Отредактировано Amylie (07.03.2017 01:29:54)

0

248

Amylie написал(а):

бьютифаер по этому поводу выдал следующее (не то чтобы оно стало сильно менее брейнфаковым от этого)

А, ну, так это тогда скрипт слайдера-ротации.
Только странно, почему из-за скрипта слайдера не хотело грузить аватары?

Отредактировано Fumuse (07.03.2017 10:49:46)

0

249

И ещё один небольшой вопрос. Есть запись вида:

Код:
var quest_username_index = $("div#player_quests_np").find(".quest_username").text();
var quest_username_index1 = $("div#player_quests_np").find(".quest_username1").text();
var quest_username_index2 = $("div#player_quests_np").find(".quest_username2").text();
var quest_username_index3 = $("div#player_quests_np").find(".quest_username3").text();
var quest_username_index4 = $("div#player_quests_np").find(".quest_username4").text();
var quest_username_index5 = $("div#player_quests_np").find(".quest_username5").text();
var quest_username_index6 = $("div#player_quests_np").find(".quest_username6").text();
var quest_username_index7 = $("div#player_quests_np").find(".quest_username7").text();
var quest_username_index8 = $("div#player_quests_np").find(".quest_username8").text();
var quest_username_index9 = $("div#player_quests_np").find(".quest_username9").text();
var quest_username_index10 = $("div#player_quests_np").find(".quest_username10").text();

var general_username_index = $("#pun-status span.item1").find("strong").text();

 if ( quest_username_index == general_username_index || quest_username_index1 == general_username_index || quest_username_index2 == general_username_index || quest_username_index3 == general_username_index || quest_username_index4 == general_username_index || quest_username_index5 == general_username_index || quest_username_index6 == general_username_index || quest_username_index7 == general_username_index || quest_username_index8 == general_username_index || quest_username_index9 == general_username_index || quest_username_index10 == general_username_index ) { что-то происходит}

Можно ли это как-то упростить? ^^; Чисто в теории я понимаю что здесь нужно как-то сделать переборку из массива чисел, но я слабо себе представляю как это технически сделать.

0

250

когда сама делала мини-табличку с списком квестов, где тебя ждут
Код:
<table><tr><td><div id="ava"></div></td><td><div id="miniprof"></div></td></tr></table>
<script>var Epi = {"Лиа":[]};
//Формат такой: "Никнейм1":["<a href=ссылка1>эпизод1</a>", "<a href=ссылка2>эпизод2</a>"], "Никнейм2":["<a href=ссылка1>эпизод1</a>", "<a href=ссылка2>эпизод2</a>"]
if(GroupID==3){
$('#miniprof').html("Добро пожаловать в Хогвартс, незнакомец!<br>");
$('#miniprof').html($('#miniprof').html()+"К сожалению, пока Вас не могут ждать в эпизодах.");
$('#ava').html("<img src=http://placehold.it/50x50>");
} else {
$('#ava').html("<a href=/profile.php?section=avatar&id=" + UserID + "><img src=" + UserAvatar + "></a>");
$('#miniprof').html("Добро пожаловать в Хогвартс, " + UserLogin + "!<br>");
$('#miniprof').html($('#miniprof').html()+"Сейчас Вас ждут в следующих эпизодах:<br>");
if(Epi[UserLogin].length==0){
$('#miniprof').html($('#miniprof').html()+"Таких эпизодов нет");
} else {
for( var i = 0; i < Epi[UserLogin].length-1; ++i ){
$('#miniprof').html($('#miniprof').html()+Epi[UserLogin][i] + ", ");
}
$('#miniprof').html($('#miniprof').html()+Epi[UserLogin][Epi[UserLogin].length-1]);
}}</script>

Не проще загнать все ники в массив по умолчанию, не выискивая конечный список ников по странице, и пробежаться по нему?
Что-то типа

Код:
var QUN = ["Ник1", "Ник 2", "<так далее>" , "Никn"];
var general_username_index = $("#pun-status span.item1").find("strong").text();//Я бы сделала if на GroupID и если три, то кидаем "Гость", иначе кидаем UserLogin, но я быдлокодер чуть более чем совсем :с
for( var i = 0; i < QUN.lenghth; ++i){
if(general_username_index===QUN[i]){
//здесь код
}
}

Отредактировано Amylie (09.03.2017 15:02:52)

+1

251

Amylie
Я вас обожаю. :) Так действительно намного проще и работает.
Ещё совершенно не разбираюсь в работе массивов, а от этого и трудности. Огромное спасибо!

+1

252

Здравствуйте. Искал скрипт сокрытия ников модерторов в описании форума. У вас представлен вот этот вариант - Сокрытие ников модераторов в описании форума.
Увы, у меня он почему-то не работает... Может быть, скрипт уже нерабочий. Может, конфликтует с чем-то, что поставлено помимо него. Может быть, я что-то не то сделал (ставил в хтмл-верх, как и указано). Подскажите, пожалуйста  :'(

0

253

Major
Предоставьте, пожалуйста, ссылку на форум.

0

254

Major
0)
Zanuda-mod on;
Это не скрипт, а вставка на css, как и все куски, которые обрамлены в <style></style>
Zanuda-mod off;
1) Ссылку на форум, пожалуйста, потому что класс модлиста не меняли

Отредактировано Amylie (09.03.2017 15:32:24)

0

255

Fumuse написал(а):

Предоставьте, пожалуйста, ссылку на форум.

Amylie написал(а):

1) Ссылку на форум, пожалуйста, потому что класс модлиста не меняли

Спасибо за отклик. Ссылка:
http://newonetreehill.rusff.me/
П.С. На данный момент этот код убрал.

0

256

Major
Зайдите в "Свой стиль", при помощи поиска найдите строку ".punbb td .modlist"

.punbb td .modlist {
    display: block;
    padding-top: 0.3em;
}

и "display:block;" поменяйте на "display: none;"

+1

257

Major
Или просто допишите в том куске кода (который ставили в верх) !important, он перекроет более специализированный код

Отредактировано Amylie (09.03.2017 15:41:10)

+1

258

Fumuse
Amylie
Еще раз огромное спасибо. И извините за мою кодовую неграмотность)

0

259

Я снова со старым вопросом про IP пользователей, но теперь... может кто-то поможет. Я нашел рабочий скрипт:

Код:
    <!-- Скрываем информацию об IP от модераторов © Alex_63 -->
    <style id="HideIPMod1">.gid2 #pun-online tcl:first-child{visibility:hidden!important}</style>
    <style id="HideIPMod2">.gid2 #pun-message .main{display:none!important}</style>
    <style>.gid2 .pa-ip,.gid2 .pa-author>img{display:none!important;}</style><script type="text/javascript">
    if(GroupID==2)$(document).ready(function() {
      if(document.URL.indexOf('moderate.php?get_host=')!=-1){
        $('.main .info .container').html('Вы не имеете прав для просмотра этой страницы.');
        $('#HideIPMod2').remove();
      }else if($('#pun-online').length){
        $('.main .tcl:first-child a[href*="profile.php"]').each(function(){
          var OnUserN = $(this).clone();$(this).parents('.tcl').html(OnUserN);
        });$('#HideIPMod1').remove();
      }else if($('#pun-viewtopic').length)$('.pa-ip,.pa-author>.acchide+img[src*="flags"]').remove();
    });
    else $('#HideIPMod1,#HideIPMod2').remove();
    </script>

Но как сделать так, чтобы скрыты были ай пи не только зарегистрированных, но и гостей?  ^^

0

260

Delador
У меня есть мысль, что так надежнее. Стандартно в html низ.

Код:
 if(GroupID==2) {
$('.pa-ip').remove();
$( "a[href*='get_host']" ).remove();
$( "img[src*='flags']" ).remove();
 if(document.URL.indexOf('moderate.php?get_host=')!=-1){
        $('.main .info .container ').html('Вы не имеете прав для просмотра этой страницы.'); 

}
}

Но из админки все равно можно будет посмотреть, там есть поиск по IP. И нет html-вставок, которые работают на обычных страницах. Впрочем, там сработает вынужденной мерой вставка следующего css:

Код:
.ismoderator #pun-admin_users #pun-admain2, .ismoderator #pun-admin_users  #pun-admain1 {
display: none;
}

.ismoderator #pun-admin_users #pun-adnav::after{
content: "У вас нет прав доступа к данной странице";
display: block;
width: 100%;
position: absolute;
margin-left: 20%;
margin-top: -200px;
}

Только отрегулирейте надпись в after по своему стилю.

Отредактировано Univers (19.03.2017 01:21:54)

+1


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » Вопросы и Запросы по Скриптам 4


Рейтинг форумов | Создать форум бесплатно