JavaScript模拟列表跳转详情页面效果

简介: JavaScript模拟列表跳转详情页面效果上一篇文章我们讲到如何利用JavaScript中location对象的hash值的改变来实现商品列表跳转到详情页面的效果。然后有同学问我,说淘宝的是利用的"?id=****"效果实现的,现在我们来讲一下如何利用location的 search实现效果。如图:1.列表页面HTML代码: <a href="01模拟详情页面.html?id=0" target="_blank"><img src="../0603/img/1.jpg" alt=""></a> <a href="01模拟详情页面.html?id=1" target=

JavaScript模拟列表跳转详情页面效果




上一篇文章我们讲到如何利用JavaScript中location对象的hash值的改变来实现商品列表跳转到详情页面的效果。然后有同学问我,说淘宝的是利用的"?id=****"效果实现的,现在我们来讲一下如何利用location的 search实现效果。如图:


1.列表页面HTML代码:



 

<ahref="01模拟详情页面.html?id=0"target="_blank"><imgsrc="../0603/img/1.jpg"alt=""></a><ahref="01模拟详情页面.html?id=1"target="_blank"><imgsrc="../0603/img/2.jpg"alt=""></a><ahref="01模拟详情页面.html?id=2"target="_blank"><imgsrc="../0603/img/3.jpg"alt=""></a><ahref="01模拟详情页面.html?id=3"target="_blank"><imgsrc="../0603/img/4.jpg"alt=""></a><ahref="01模拟详情页面.html?id=4"target="_blank"><imgsrc="../0603/img/5.jpg"alt=""></a>


2.详情页面HTML代码:


 

<h1>详情页面</h1><p>姓名:<spanid="name"></span></p><p>年龄:<spanid="age"></span></p><div><imgid="pic"src=""></div>


CSS代码:



span {
        font-weight: 900;
        font-size: 20px;
    }
    img {
        width: 600px;
        height: 400px;
    }


JavaScript代码:


 

var data = {
        "persons": [{
            "name": "张三",
            "age": 13,
            "imgSrc": "../0603/img/1.jpg"
        }, {
            "name": "李四",
            "age": 14,
            "imgSrc": "../0603/img/2.jpg"
        }, {
            "name": "王五",
            "age": 15,
            "imgSrc": "../0603/img/3.jpg"
        }, {
            "name": "赵六",
            "age": 16,
            "imgSrc": "../0603/img/4.jpg"
        }, {
            "name": "卓七",
            "age": 17,
            "imgSrc": "../0603/img/5.jpg"
        }]
    }
    var detialData = data.persons;
    // var msg=Number(location.hash.slice(1));//#0
    var msg = Number(location.search.slice(4)); //?id=0
    console.log(msg);
    var oName = document.getElementById("name");
    var oAge = document.getElementById('age');
    var oPic = document.getElementById("pic");
    oName.innerText = detialData[msg].name;
    oAge.innerText = detialData[msg].age;
    oPic.src = detialData[msg].imgSrc;



总结: 这个小的demo只是简单是模拟一下效果,真正工作的时候我们一般列表页面会使用Javascript实现跳转功能。因为不能确定有多少件商品,不可能每件都添加href属性。商品列表也是通过for循环遍历加载的。


视频讲解链接:
https://www.bilibili.com/video/BV17p4y1D7Bx/


相关文章
|
4月前
|
前端开发 JavaScript
js + ajax实现商品列表页到详情页的跳转
js + ajax实现商品列表页到详情页的跳转
|
5月前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
53 0
|
13天前
|
JavaScript 前端开发
【专栏】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表
【4月更文挑战第29天】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表。它接受两个参数:上下文对象和参数数组。理解`apply`有助于深入JS运行机制。文章分三部分探讨其原理:基本概念和用法、工作原理详解、实际应用与注意事项。在应用中要注意性能、参数类型和兼容性问题。`apply`可用于动态改变上下文、传递参数数组,甚至模拟其他语言的调用方式。通过深入理解`apply`,能提升代码质量和效率。
|
1月前
|
前端开发 JavaScript API
JavaScript待办事项列表
JavaScript待办事项列表
|
1月前
|
移动开发 前端开发 JavaScript
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
|
2月前
|
前端开发 JavaScript
从0到1:用HTML、CSS和JavaScript构建一个简单的待办事项列表
从0到1:用HTML、CSS和JavaScript构建一个简单的待办事项列表
26 0
|
2月前
|
JavaScript 前端开发 UED
JS自动跳转手机移动网页
JS自动跳转手机移动网页
456 0
|
2月前
编程笔记 html5&css&js 015 HTML列表
编程笔记 html5&css&js 015 HTML列表
|
7月前
|
存储 JavaScript 前端开发
手撕前端面试题【javascript~ 列表动态渲染、无重复数组、数组排序、新数组、创建数组、深浅拷贝、内存泄露等】
html页面的骨架,相当于人的骨头,只有骨头是不是看着有点瘆人,只有HTML也是如此。 css,相当于把骨架修饰起来,相当于人的皮肉。
40 0
|
3月前
|
前端开发 JavaScript API
网页开发者必看!5种JS跳转页面技巧,提升用户交互体验
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。