关于jquery插件 lavalamp菜单效果的小问题 导航插件lavalamp熔岩灯菜单效果jquery 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 点击后导航栏的结构变了没? 我看了一下lavalamp的代码, 如果结构没变, 滑块不会重新跑到第一个li中的如果改变了结构, 你看这段源码很简单: (function($) {$.fn.lavaLamp = function(o) { o = $.extend({ fx: "linear", speed: 500, click: function(){} }, o || {}); return this.each(function() { var me = $(this), noop = function(){}, $back = $('<li class="back"><div class="left"></div></li>').appendTo(me), $li = $("li", this), curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0]; $li.not(".back").hover(function() { move(this); }, noop); $(this).hover(noop, function() { move(curr); }); $li.click(function(e) { setCurr(this); return o.click.apply(this, [e, this]); }); setCurr(curr); function setCurr(el) { $back.css({ "left": el.offsetLeft+"px", "width": el.offsetWidth+"px" }); curr = el; }; function move(el) { $back.each(function() { $(this).dequeue(); } ).animate({ width: el.offsetWidth, left: el.offsetLeft }, o.speed, o.fx); }; });};})(jQuery);看看代码, 知道它是有一个.current的识别的, 如果重刷了导航栏, 只需要在回调函数中, 将刷出来的导航栏的当前li加一个current类就可以了. 这个控件也提供了一个click的传入, $(elem).lavalamp({click: function(){ // 这里面可以加 }}) 使用createElement创建的对象的生存期 在火狐中国版中不能显示,在火狐中显示正常 请教大师们,一个jquery的问题 <map>area cursor 可以设置的吗 Discuz 论坛 后台导航 上下连动的效果是怎么做出来的? 如何让弹出的窗口 中的文字显示在中间? 用javascript可不可以刷新别的窗口,要怎样做? 验证输入的问题 仿jquery sortable函数实现动态元素排序在IE下不能执行的问题 怎么把json格式的假数组转成真数组呢 【转一个】一张图告诉你,只会JavaScript还不够! iframe 在IE中布局变形
如果改变了结构, 你看这段源码很简单: (function($) {
$.fn.lavaLamp = function(o) {
o = $.extend({ fx: "linear", speed: 500, click: function(){} }, o || {}); return this.each(function() {
var me = $(this), noop = function(){},
$back = $('<li class="back"><div class="left"></div></li>').appendTo(me),
$li = $("li", this), curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0]; $li.not(".back").hover(function() {
move(this);
}, noop); $(this).hover(noop, function() {
move(curr);
}); $li.click(function(e) {
setCurr(this);
return o.click.apply(this, [e, this]);
}); setCurr(curr); function setCurr(el) {
$back.css({ "left": el.offsetLeft+"px", "width": el.offsetWidth+"px" });
curr = el;
}; function move(el) {
$back.each(function() {
$(this).dequeue(); }
).animate({
width: el.offsetWidth,
left: el.offsetLeft
}, o.speed, o.fx);
}; });
};
})(jQuery);看看代码, 知道它是有一个.current的识别的, 如果重刷了导航栏, 只需要在回调函数中, 将刷出来的导航栏的当前li加一个current类就可以了. 这个控件也提供了一个click的传入, $(elem).lavalamp({click: function(){ // 这里面可以加 }})