例如筋斗云的效果,但不通过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行 ...
 
随机推荐
- vs2013在使用ReportView11时遇到的问题
			
最近在做项目中用到2013中的ReportView11 在本机IIS中使用完全没问题 但是放到服务器上总是出问题 解决办法:(1)首先在自己机器上开发的时候 是不用引用 Microsoft.R ...
 - jquery动态合并表格行
			
利用<td rowspan = "num"/>;原理来实现,其中num为要合并的行数. <!DOCTYPE html> <html> <h ...
 - 总结移动安全的测试点及详解allowbackup漏洞
			
一.移动应用APP可能面临以下威胁: 木马--二次打包, 病毒--账号窃取, 篡改--资源篡改, 破解--广告植入, 钓鱼--信息劫持 二.移动终端APP安全评估的7个方向: 通信安全,敏感信息安全 ...
 - centos7.0 下安装jdk1.8
			
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
 - js实例--飞机大战
			
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...
 - 忘记Windows7登陆密码解决办法
			
忘记 Windows7 的登陆密码,解决这个问题的思路就是替换 system32 下的 Magnify.exe . 可以从 WindowsPE 启动,到 C:\windows\system32 下. ...
 - ASN.1 key structures in DER and PEM
			
转自:https://tls.mbed.org/kb/cryptography/asn1-key-structures-in-der-and-pem Introduction Everybody lo ...
 - Sql server2012还原备份文件语句
			
--sql2012还原sql2008语句 --选择master数据库,新建查询 输入下面sql语句 --选择兼容模式(sql 2008)创建数据库db(还原时db写成原生数据库名称) RESTORE ...
 - oracle undo回滚段详解
			
1.Undo是干嘛用的? 在介绍undo之前先说一下另外一个东西 transaction ,翻译成交易或事务.我们在进行一个事务的过程中需要申请许多资源,一个复杂的事务也需要很多步来完成.那么一个 ...
 - WebService技术(二)— CXF
			
前言:学习笔记,以供参考 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services .可以与Spring进行快速无 ...