例如筋斗云的效果,但不通过offset定位的flag标记
效果:mouseenter到li上出现背景图片,mouseleave后背景图片消失,click以后该背景图片被锁定
问题:简单的mouseenter,mouseleave和click事件不能达到预期的效果,因为当click事件结束后,同时也会触发mouseleave事件
解决方案:我们给每一个li一遍循环,给li动态添加flag属性,默认值为true,是这样的我们判断当flag为false给该li设置背景图片,为true给清空;所以当mouseenter的时候,给移入的li设置背景图片;当鼠标点击li的时候给li的flag设置为取反,而其余兄弟li的flag均赋予true的属性,给点击的li设置背景图片;最后通过判断flag来决定是否触发mouseleave事件,循环遍历li,如果li的flag为true的背景图片清空
代码示例,不完全针对这个,有html结构的差别
$(function () {
$li = $(".gywm-content .content-main-left li");
$($li[0]).find("a")
.css({
"background": "url('image/guanyuwomen_anniu_xuanzhogn.png')"
, "color": " #ff2826"
});
$li.each(function (index, ele) {
ele.flag = true;
})
$li.mouseenter(function () {
$li.index = $(".gywm-content .content-main-left li").index($(this));
$(this).find("a").css({
"background": "url('image/guanyuwomen_anniu_xuanzhogn.png')"
, "color": " #ff2826"
});
});
$li.click(function () {
$(this).siblings().each(function (index, ele) {
ele.flag = true;
});
this.flag = !this.flag;
$li.index = $(".gywm-content .content-main-left li").index($(this));
$(".gywm-content .content-main-right li").removeClass("show");
$(".gywm-content .content-main-right li").eq($li.index).addClass("show");
$(this).find("a").css({
"background": "url('image/guanyuwomen_anniu_xuanzhogn.png')"
, "color": " #ff2826"
});
})
$li.mouseleave(function () {
$li.each(function (index, ele) {
if (ele.flag) {
$(ele).find("a")
.css({
"background": ""
, "color": " #333333"
});
}
})
});
})
例如筋斗云的效果,但不通过offset定位的flag标记的更多相关文章
- Vue 事件监听实现导航栏吸顶效果(页面滚动后定位)
Vue 事件监听实现导航栏吸顶效果(页面滚动后定位) Howie126313 关注 2017.11.19 15:05* 字数 100 阅读 3154评论 0喜欢 0 所说的吸顶效果就是在页面没有滑动之 ...
- Bootstrap导航点击菜单跳转与点击缩放菜单折叠按钮缓冲效果插件jquery.singlePageNav.min.js
引入步骤: <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></scrip ...
- jQuery实现 图片的局部放大效果
<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> ...
- Android之仿ele地图定位效果
PS:最近项目要求,希望在选择地址的时候能够仿ele来实现定位效果.因此就去做了一下.不过ele使用高德地图实现的,我是用百度地图实现的.没办法,公司说用百度那就用百度的吧.个人觉得高德应该更加的精准 ...
- HTML标签marquee实现滚动效果
html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制.使用marquee标记不仅可以移动文字,也可以移动图片,表格等.只需要在<ma ...
- marquee标签实现页面内容的滚动效果
页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...
- html的<marquee></marquee>标签实现滚动效果
页面的自动滚动效果,可由javascript来实现,但是今天无意中发现了一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用m ...
- 数的n次方 s.match(reg) marquee滚动效果
一.数的n次方 <script> alert(math.pow(a,5)); /*输出a的5次方*/ </script> 二. s.match(reg); s代表一个字符串,r ...
- JavaScript Table行定位效果
作者:cloudgamer 时间: 2009-09-17 文档类型:原创 来自:蓝色理想 第 1 页 JavaScript Table行定位效果 [1] 第 2 页 JavaScript Table行 ...
随机推荐
- ACM/ICPC 之 有流量上下界的网络流-Dinic(可做模板)(POJ2396)
//有流量上下界的网络流 //Time:47Ms Memory:1788K #include<iostream> #include<cstring> #include<c ...
- 关于layoutSubviews
layoutSubviews 是什么? 设定subviews的尺寸和位置,如果要精确布局,可以在子类里重写此方法.不能直接调用此方法,如果想强制layout刷新,调用setNeedsLayout来代替 ...
- extern
gcc编译器编译程序有四个阶段,预处理.编译.汇编.链接.预处理阶段会将源代码中的包含的头文件如stdio.h编译进来:编译阶段,gcc首先要检查代码的规范性.是否有语法错误等,以确定代码的实际要做的 ...
- Sublime Text:Windows下配置C 编译环境和GDB调试环境
写此文解决两个问题: 1.在Sublime Text中实现编译运行含有外部输入的C程序(如含有scanf的程序); 2.在程序运行完毕后不退出cmd,能继续用gdb调试程序. 一.MinGW 下载地址 ...
- node08-express
目录:node01-创建服务器 node02-util node03-events node04-buffer node05-fs node06-path node07-http node08-exp ...
- SpringMVC学习
1,对SpringMVC的理解 a,基于MVC的设计理念 b,采用松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性 c,支持REST风格的URL请求 d,该框架围绕DispatcherSer ...
- C++ 字符处理函数
C/C++里有一个头文件#include <ctype.h>,里面定义了很多字符函数,在实际开发中,用起来很方面. int isalpha(int ch) 若ch是字母('A'-'Z', ...
- postgres索引创建、 存储过程的创建以及在c#中的调用
postgres创建索引参考 http://www.cnblogs.com/stephen-liu74/archive/2012/05/09/2298182.html CREATE TABLE tes ...
- resharper 改为VS自带的F12功能(转到定义)
1:如何设置vs默认的快捷键方式: 2:重新设置resharper的F12及其其它选项设置: 3.如果还需要使用快捷键 Alt+ENTER 1.帮你实现某个接口或抽象基类的方法 2.提供你处理当 ...
- 不注册COM在Richedit中使OLE支持复制粘贴
正常情况下在Richedit中使用OLE,如果需要OLE支持复制粘贴,那么这个OLE对象必须是已经注册的COM对象. 注册COM很简单,关键问题在于注册时需要管理员权限,这样一来,如果希望APP做成绿 ...