3

我使用了一个名为 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' : '');
    }

};

任何帮助将不胜感激。

4

1 回答 1

0

对于我的一个项目,我使用了包含 Stick Scroll Jquery 插件。它可以根据您的要求完美运行。

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

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

于 2012-10-29T06:08:34.900 回答