在div id或class之后限制Sharebar浮动

时间:2012-10-29 05:55:05

标签: jquery wordpress wordpress-plugin

我使用名为Sharebar的Wordpress插件,但由于我想要实现的新主题,我想在共享栏到达某个div id或类之后停止浮动。我已经看到了解决方案,您可以根据底部的像素限制它,但由于我有一个注释部分,页脚显然可以改变大小。这是整个jQuery代码供参考。

jQuery.fn.sharebar = function(options) {
    var defaults = {horizontal: true, swidth: 65, minwidth: 1000, position: 'left', leftOffset: 20, rightOffset: 10};
    var opts = jQuery.extend(defaults, options); var o = jQuery.meta ? jQuery.extend({}, opts, jQueryjQuery.data()) : opts;

    var w = jQuery(window).width();
    var sharebar = jQuery('#sharebar');
    var sharebarx = jQuery('#sharebarx');
    var parent = jQuery(sharebar).parent().width();
    var start = sharebar_init();

    function sharebar_init(){
        jQuery(sharebar).css('width',o.swidth+'px');
        if (o.position == 'left') jQuery(sharebar).css('marginLeft',(0-o.swidth-o.leftOffset));
        else {
            jQuery(sharebar).css('marginLeft',(parent+o.rightOffset));
        }
        if(w < o.minwidth && o.horizontal) jQuery(sharebarx).slideDown();
        else jQuery(sharebar).fadeIn();
        jQuery.event.add(window, "scroll", sharebar_scroll);
        jQuery.event.add(window, "resize", sharebar_resize);
        return jQuery(sharebar).offset().top;
    }
    function sharebar_resize() {
        var w = jQuery(window).width();
        if(w<o.minwidth){
            jQuery(sharebar).fadeOut();
            if(o.horizontal) jQuery(sharebarx).slideDown();
        }else{
            jQuery(sharebar).fadeIn();
            if(o.horizontal) jQuery(sharebarx).slideUp();
        }
    }
    function sharebar_scroll() {
        var p = jQuery(window).scrollTop();
        var w = jQuery(window).width();
        jQuery(sharebar).css('position',((p+10)>start) ? 'fixed' : 'absolute');
        jQuery(sharebar).css('top',((p+10)>start) ? '10px' : '');
    }

};

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于我的一个项目我使用了Contained Stick Scroll Jquery插件。它根据您的要求完美。

http://blog.echoenduring.com/2010/11/15/freebie-contained-sticky-scroll-jquery-plugin/

尝试这个..希望这个帮助!!