HTML
<div class="wrapper">
<div class="container">
<div class="des-main">
<img src="http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg" width="100"/>
</div>
<div class="des-sidebar-wrapper">
<div class="des-sidebar pure-u">
<div class="des-sidebar-section">
<a>Contact designer</a>
</div>
</div>
</div>
</div>
</div>JQuery
var _sidebar = $('.des-sidebar');
var top = _sidebar.offset().top - parseFloat(_sidebar.css('marginTop').replace(/auto/,0));
$(window).scroll(function(){
var y = $(window).scrollTop();
if(y >= top){
_sidebar.addClass('fixed');
}
else{
_sidebar.removeClass('fixed');
}
});在depending区域,根据上传的不同,不同的图像会更大或更小。因此,des-侧边栏包装器的左边的css应该按照des-主宽度跟随。有办法相应地改变左派吗?左: auto只会将侧边栏移到0的左侧。因此,如果将图像宽度更改为200 if,侧栏将与图像重叠。
帮助感激!
这里是jsfiddle:http://jsfiddle.net/kittymeow/YyLMa/
发布于 2014-02-11 06:10:09
此功能根据图像宽度处理,
尝尝这个,
JsFiddle
var _sidebar = $('img');
var position = _sidebar.width();
$( ".des-sidebar-wrapper" ).offset({ left: position+_sidebar.offset().left});
$(window).scroll(function(){
var y = $(window).scrollTop();
if(y >= top){
_sidebar.addClass('fixed');
}
else{
_sidebar.removeClass('fixed');
}
});https://stackoverflow.com/questions/21693681
复制相似问题