jQuery mouseover事件
发布网友
发布时间:2022-04-19 20:11
我来回答
共2个回答
热心网友
时间:2022-04-23 23:19
这应该是简单的滑动门效果。
HTML的结构估计就是你这样了,左边是列表,右边是div组。
其实,你只要明白,左边的列表和右边的div组都是有索引值(index)的。然后通过一个变量来控制就可以了,这样这个变量即可以给左边的列表用,也可以给右边的按钮用。
var int = 0; //初始化一个变量
//定义一个函数,用来隐藏显示右侧的div和控制左侧的列表
function divShow(int){
$('#right .item').hide().eq(int).show();
$('#left li').removeClass('current').eq(int).addClass('current');
}
我们需要给左侧的列表添加事件;
$('#left li').bind({
'mouseover' : function(){
//获取当前元素的索引值
int = $(this).index();
//执行函数,这里会显示右侧的第一个div元素
divShow(int);
},
'mouseout' : function(){
//鼠标划开时的操作
//int = 0;
//divShow(int);
}
});
侧边的按钮也是一样
//上翻
$('#prev').bind({
'click' : function(){
//这里要使用判断
if(int <= 0){
//这里的个数可以拿到外面定义;
int = ($('#right .item').length-1);
}else{
int = (int-1);
};
int = int;
}
});
//下翻
$('#next').bind({
'click' : function(){
//这里要使用判断
if(int >= ($('#right .item').length-1)){
//这里的个数可以拿到外面定义;
int = 0;
}else{
int = (int+1);
};
int = int;
}
});
如果你打算在鼠标离开时都初始化,那么,你只要在每个按钮的mouseout事件中设置int这个索引变量为0就可以了。
热心网友
时间:2022-04-24 00:37
mouseover和mouseout函数可以由hover函数代替,原型是hover(function(){鼠标移入},function(){鼠标移出}),现在假设你左边那四个li都有src属性,分别设置成需要切换的图片路径,li和右边的img都在一个id为mydiv的div中,那么只需要mouseover函数就行了,
$("#mydiv li").mouseover(function(){$("# mydiv img").attr("src",$(this).attr("src"));});
而第一次加载页面的时候,鼠标没有移动到li上面去过,那么img标签里面什么都没有,需要手动给img的src属性设置一个初始值,或者用js设置。