点击更改div位置
问题描述:
我正在使用宽松的覆盖。 我有一个粘滞的标题,在某个滚动点之后,它会改变为position:absolute。点击更改div位置
var windw = this; $.fn.followTo = function (pos) {
var $this = this,
$window = $(windw);
$window.scroll(function(e){
if ($window.scrollTop() > pos) {
$this.css({
position: 'absolute',
top: pos
});
} else {
$this.css({
position: 'fixed',
top: 0
});
}
});};$('#header').followTo(352);
我在滚动点后显示的标题下有一个div。我在那个div中有一个图标,当点击时,我想返回标题的位置:'fixed'。我已经尝试了一个简单的.click函数,但这不起作用。
极其复杂的小提琴:http://jsfiddle.net/hadronian/9bUqr/
答
我认为这是你在找什么。我相信你可能会考虑一些用户界面的改进,但是如果你希望一旦点击了另一个元素就能显示标题,这就是我想到的。
var windw = this;
$.fn.followTo = function (pos, resetElement) {
var $this = this,
$window = $(windw);
var fixedCss = {
position: 'fixed',
top: 0
};
var absoluteCss = {
position: 'absolute',
top: pos
};
$window.scroll(function(e){
if ($window.scrollTop() > pos) {
$this.css(absoluteCss);
} else {
$this.css(fixedCss);
}
});
resetElement.click(function()
{
$this.css(fixedCss);
});
};
$('#header').followTo(352, $('#down'));
基本上,通过一第二jQuery的元素的函数(或者只是一个选择器)和结合该对象时被点击它的CSS复位到固定的位置上。
就像我说的,为了让用户体验更好一些,可能会有更多的改进,但希望这可以帮助您走上正确的道路。
如果你有一个拨弄它会更容易调试[小提琴这里(http://www.jsfiddle.net) –
我会的,但它是一个更大的项目 – Jacob
所以的一部分做一个小得多的样本 – cgatian