$(".activity-title").mouseenter(function(){ if($(this).index()/2 == activity){ return; }else{ $(this).children().eq(1).show(); } }) $(".activity-title").mouseleave(function(){ if($(this).index()/2 == activity){ return; }else{ $(this).children().eq(1).hide(); } }) $(".activity-title").click(function(){ if($(this).index()/2 == activity){ return; }else{ activity = $(this).index()/2; console.log(activity); for(let i=0;i<3;i++){ if(i == activity){ $(".activity-title").eq(i).children().eq(1).show(); $(".activity-content").eq(i).css("width","555px"); }else{ $(".activity-title").eq(i).children().eq(1).hide(); $(".activity-content").eq(i).css("width","0"); } } } })解释代码

时间: 2024-04-02 12:36:47 浏览: 8
这段代码使用了jQuery库来实现交互效果。它主要是针对一个页面上的活动列表,当鼠标移入活动标题时,如果该活动不是当前选中的活动,则会显示该活动的详情信息;当鼠标移出时则隐藏详情信息。当用户点击某个活动时,会将该活动设置为当前选中的活动,并展示该活动的详情信息,同时隐藏其他活动的详情信息。具体解释见下: 首先,使用jQuery的选择器选中了所有活动标题元素,然后为它们分别绑定了mouseenter、mouseleave、click事件。 当鼠标移入某个活动标题时,会执行mouseenter事件处理函数。在函数中,通过$(this)获取当前鼠标所在的活动标题元素,然后使用index()方法获取该元素在父元素(即活动列表)中的下标,因为每个活动标题元素都包含了一个子元素(可能是a、span等),所以需要除以2才能得到对应的活动下标。如果该活动下标等于当前选中的活动下标,则什么都不做;否则,将该活动标题元素的子元素中下标为1的元素(即详情信息)显示出来。 当鼠标移出某个活动标题时,会执行mouseleave事件处理函数。在函数中,同样也会获取当前鼠标所在的活动标题元素的下标,然后判断是否等于当前选中的活动下标,如果不等于,则将该活动标题元素的子元素中下标为1的元素(即详情信息)隐藏起来。 当用户点击某个活动标题时,会执行click事件处理函数。在函数中,同样也会获取当前鼠标所在的活动标题元素的下标,并将该下标除以2得到对应的活动下标。如果该活动下标等于当前选中的活动下标,则什么都不做;否则,将该活动下标设置为当前选中的活动下标,并遍历所有活动标题元素和对应的活动详情元素,如果该元素对应的活动下标等于当前选中的活动下标,则显示该元素的详情信息,否则隐藏该元素的详情信息。

相关推荐

#! /system/bin/sh # 监听按键的设备文件和按键值 DEVICE_FILE="/dev/input/event0" KEY_VALUE="00a5" KEY_VALUE2="00a3" DISPLAY_ID=$(dumpsys window | awk '/displayId=/ {print $1}' | sed 's/displayId=//g') local id1=$(echo $DISPLAY_ID | awk '{print $1}') local id2=$(echo $DISPLAY_ID | awk '{print $2}') # 按键副屏打开 function key_state() { if [ "$id1" -gt "$id2" ]; then echo $id1 am start -n com.tencent.start.tv/com.tencent.start.ui.SplashActivity --display "$id1" else echo $id2 am start -n com.tencent.start.tv/com.tencent.start.ui.SplashActivity --display "$id2" fi } # 监听按键事件 function listen_key_events() { # 判断设备文件是否存在 if [ ! -e "$DEVICE_FILE" ]; then echo "Error: Device file '$DEVICE_FILE' does not exist." exit 1 fi # 监听按键事件 getevent -q "$DEVICE_FILE" | while read line; do local keycode=$(echo "$line" | awk '{print $2}') local value=$(echo "$line" | awk '{print $3}') local id_activity=$(dumpsys window | grep display | grep 'imeInputTarget' | awk '{print $4,$7}' | cut -d'}' -f1) local focus=$(dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1) local activity=$(echo "$id_activity" | grep "$focus"| awk '{print $NF}') if [ "$keycode" = "$KEY_VALUE" ]; then if [ "$value" = "00000001" ]; then key_state fi elif [ "$keycode" = "$KEY_VALUE2" ]; then if [ "$value" = "00000001" ]; then if [ "$activity" = "$(echo $id_activity | awk '{print $2}')" ] then echo "$(echo $id_activity | awk '{print $4}')" am start -n "$(echo $id_activity | awk '{print $4}')" --display "$(echo $id_activity | awk '{print $3}')" else echo "$(echo $id_activity | awk '{print $2}')" am start -n "$(echo $id_activity | awk '{print $2}')" --display "$(echo $id_activity | awk '{print $1}')" fi fi fi done } # 启动按键监听 listen_key_events 优化

最新推荐

recommend-type

Android 出现:java.lang.NoClassDefFoundError...错误解决办法

主要介绍了Android 出现:Android出现:java.lang.NoClassDefFoundError: android/os/PersistableBundle错误解决办法的相关资料,需要的朋友可以参考下
recommend-type

Android中Activity和Fragment传递数据的两种方式

本篇文章主要介绍了Android中Activity和Fragment传递数据的两种方式,非常具有实用价值,需要的朋友可以参考下
recommend-type

AndroidX下使用Activity和Fragment的变化详解

主要介绍了AndroidX下使用Activity和Fragment的变化详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

NFC Activity Technical Specification 1.1.pdf

This document specifies a communication protocol called the NFC Controller Interface (NCI) between an NFC Controller (NFCC) and a Device Host (DH).
recommend-type

Android activity属性设置大全.doc

Android activity属性Android activity属性设置大全.doc设置大全.doc
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。