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/


相关文章
|
2天前
|
前端开发 JavaScript
js + ajax实现商品列表页到详情页的跳转
js + ajax实现商品列表页到详情页的跳转
|
2天前
|
缓存 JavaScript 前端开发
猿如意中的【Node.js】工具详情介绍
猿如意中的【Node.js】工具详情介绍
|
2天前
|
前端开发 JavaScript
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
前端知识(十)———JavaScript 使用URL跳转传递数组对象数据类型的方法
53 0
|
1天前
|
存储 JavaScript 前端开发
Angular.js 如何绘制列表
Angular.js 如何绘制列表
11 2
|
2天前
|
JavaScript
js隔行换色功能制作详情
js隔行换色功能制作详情
|
2天前
|
JavaScript 前端开发
【专栏】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表
【4月更文挑战第29天】`Function.prototype.apply` 在JavaScript中用于动态设定函数上下文(`this`)和参数列表。它接受两个参数:上下文对象和参数数组。理解`apply`有助于深入JS运行机制。文章分三部分探讨其原理:基本概念和用法、工作原理详解、实际应用与注意事项。在应用中要注意性能、参数类型和兼容性问题。`apply`可用于动态改变上下文、传递参数数组,甚至模拟其他语言的调用方式。通过深入理解`apply`,能提升代码质量和效率。
|
2天前
|
SQL 存储 前端开发
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
React&Nest.js全栈社区平台(五)——👋封装通用分页Service实现文章流与详情
|
2天前
|
前端开发 JavaScript API
JavaScript待办事项列表
JavaScript待办事项列表
|
2天前
|
移动开发 前端开发 JavaScript
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
使用JavaScript实现一个复杂功能:自定义拖拽排序列表
|
2天前
|
JavaScript
sort列表排序(js的问题)
sort列表排序(js的问题)