用js做点击切换携程旅游

样式:

 <style>.domestic {width: 1200px;margin: 50px auto;}.domestic span {padding: 2px 10px;margin: 10px 10px;border-radius: 12px;cursor: pointer;float: left;border: 1px solid transparent;}.domestic > div span:hover {border-color: #f66;background: #fff;color: #f66;}.domestic span.active {background: #f66;color: #fff;}.tab_theme {margin: 0;padding: 0;width: 1220px;height: 202px;list-style: none;}.tab_theme > li {float: left;width: 293px;margin: 0 10px 0 0;overflow: hidden;position: relative;}.tab_theme > li img {display: block;width: 100%;margin-top: -20px;position: relative;bottom: 0;-webkit-transiton: bottom 0.3s;transition: bottom 0.3s;}.tab_theme .city_name {position: absolute;color: #fff;top: 130px;left: 0;font-size: 30px;text-indent: 0.5em;text-shadow: 1px 1px 7px #000;}.clearfix:after {content: '';display: block;height: 0;clear: both;visibility: hidden;}</style>

html:

<div class="domestic"><div class="clearfix"><span class="active">登高踏青</span><span>小憩温泉</span><span>天然氧吧</span><span>草原撒欢</span></div><ul class="tab_theme"><!-- <li><a href="#"><div class="pic_add"><imgalt="黄山"src="http://img.elongstatic.com/index/termini/dgtq-hs.jpg"/></div><div class="city_name">黄山</div></a></li> --></ul></div>

js

<script>const arr = [{data: [{name: '黄山',url: 'http://img.elongstatic.com/index/termini/dgtq-hs.jpg',},{name: '峨眉山',url: 'http://img.elongstatic.com/index/termini/dgtq-ems.jpg',},{name: '五台山',url: 'http://img.elongstatic.com/index/termini/dgtq-wts.jpg',},{name: '庐山',url: 'http://img.elongstatic.com/index/termini/dgtq-ls.jpg',},],},{data: [{name: '江苏天目湖',url: 'http://img.elongstatic.com/index/termini/hbtl-tianmuhu.jpg',},{name: '威海天沐威海温泉',url: 'http://img.elongstatic.com/index/termini/hbtl-tianmuweihai.jpg',},{name: '广东中山温泉',url: 'http://img.elongstatic.com/index/termini/hbtl-zhongshan.jpg',},{name: '辽宁大连安波温泉',url: 'http://img.elongstatic.com/index/termini/hbtl-anbo.jpg',},],},{data: [{name: '拉萨',url: 'http://img.elongstatic.com/index/termini/hbtl-lasa.jpg',},{name: '大理',url: 'http://img.elongstatic.com/index/termini/hbtl-dali.jpg',},{name: '舟山',url: 'http://img.elongstatic.com/index/termini/hbtl-zhoushan.jpg',},{name: '厦门',url: 'http://img.elongstatic.com/index/termini/hbtl-xiamen.jpg',},],},{data: [{name: '锡林郭勒',url: 'http://img.elongstatic.com/index/termini/cysh-xlgl.jpg',},{name: '坝上',url: 'http://img.elongstatic.com/index/termini/cysh-bs.jpg',},{name: '若尔盖',url: 'http://img.elongstatic.com/index/termini/cysh-reg.jpg',},{name: '祁连山',url: 'http://img.elongstatic.com/index/termini/cysh-qls.jpg',},],},]// 获取所有tab栏const spans = document.querySelectorAll('.domestic span')// 循环绑定事件for (let i = 0; i < spans.length; i++) {spans[i].addEventListener('click', function () {// 让自己高亮 其余移除document.querySelector('.domestic .active').classList.remove('active')this.classList.add('active')// 图片切换render(i)})}function render(index) {const ary = arr[index].datalet str = ''for (let i = 0; i < ary.length; i++) {str += `<li><a href="#"><div class="pic_add"><imgalt="${ary[i].name}"src="${ary[i].url}"/></div><div class="city_name">${ary[i].name}</div></a></li>`}document.querySelector('.tab_theme').innerHTML = str}render(0)</script>

效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333710.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gartner发布2024年SASE融合战略路线图

向云计算和远程工作的转变增加了 SASE 需求&#xff0c;以实现从任何设备的安全访问。安全和风险管理领导者必须将网络和安全融合到一两个明确合作的 SASE 供应商产品中&#xff0c;并淘汰遗留的边界系统。 主要发现 安全访问服务边缘 (SASE) 框架为混合劳动力以及设备、分支机…

QML —— 示例 - Component自定义组件及加载(附完整源码)

示例效果 介绍 Component 组件是可重用的、封装的QML类型&#xff0c;具有定义良好的接口。组件通常由组件文件定义&#xff0c;即.qml文件。组件类型本质上允许在QML文档中内联定义QML组件&#xff0c;而不是作为单独的QML文件。这可能有助于重用QML文件中的小组件&#xff0c…

Spring MVC(day1)

什么是MVC MVC是一种设计模式&#xff0c;将软件按照模型、视图、控制器来划分&#xff1a; M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为数据承载Bean&#xff1a;专门存储业务数据…

Vue-4、单向数据绑定与双向数据绑定

1、单向数据绑定 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>数据绑定</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/…

Linux下安装JET2

0. 说明&#xff1a; JET2是一个基于Joint Evolutionary Trees的利用序列和结构信息预测蛋白质界面的软件&#xff0c;详情见: http://www.lcqb.upmc.fr/JET2/JET2.html&#xff0c;http://www.lgm.upmc.fr/JET/JET.html 和 https://doi.org/10.1371/journal.pcbi.1004580 本…

老鸟总结,性能测试-常用指标/指标评估及/通过标准(超级细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、性能压测–常用…

求求你,别再乱用@Transactional了

求求你&#xff0c;别再乱用Transactional了 文章目录 &#x1f50a;先看个问题&#x1f4d5;情况1情况1结果 &#x1f5a5;️情况2情况2结果 &#x1f4dc; 情况三情况3结果 &#x1f4d8;情况4情况4结果 &#x1f516;先说结论情况1结果情况2结果情况3结果情况4结果&#x1f…

Linux查看物理CPU个数、核数、逻辑CPU个数

文章目录 总核数总逻辑CPU数查看物理CPU个数查看每个物理CPU中core的个数(即核数)查看逻辑CPU的个数 总核数 总核数 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 总逻辑CPU数 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep “…

探讨JS混淆技术及其加密解密实例

引言 在当前计算机科学领域中&#xff0c;保护软件代码的安全性和隐私性变得愈发重要。为了防止黑客攻击和恶意软件分析&#xff0c;开发人员采用各种技术来混淆和加密其代码&#xff0c;其中包括JS混淆技术。本文将介绍JS混淆技术的原理和应用&#xff0c;并提供一些相关的加密…

Tailscale 基础教程:Headscale 的部署方法和使用教程

Tailscale 是一种基于 WireGuard 的虚拟组网工具&#xff0c;它在用户态实现了 WireGuard 协议&#xff0c;相比于内核态 WireGuard 性能会有所损失&#xff0c;但在功能和易用性上下了很大功夫&#xff1a; 开箱即用 无需配置防火墙没有额外的配置 高安全性/私密性 自动密钥轮…

俏生元把握大健康行业发展趋势 构建居家悦己健康消费升级

健康与美丽是女性长久的必修课&#xff0c;近年来&#xff0c;消费者的养生需求不断增长。女性健康品牌俏生元把握大健康行业发展大趋势&#xff0c;聚力女性健康领域构建居家健康消费业态&#xff0c;做好女性健康管理顾问&#xff0c;让消费者从大健康跃进美好生活。 俏生元…

计算机毕业设计选题分享-SSM书籍借阅管理系统04770(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

SSM书籍借阅管理系统 摘 要 随着科学技术的告诉发展&#xff0c;我们已经步入数字化、网络化的时代。图书馆是学校的文献信息中心&#xff0c;是为全校教学和科学研究服务的学术性机构&#xff0c;是学校信息化的重要基地。图书馆的工作是学校和科学研究工作的重要组成部分&…