实现百度的换一换(一)

简介: 实现百度的换一换(一)
*{
margin: 0;
padding: 0;
}
#maxbox{
width: 405px;
height: 400px;
margin: 0 auto;
}
/* 这是标题部分 */
#maxbox .changlink{
width: 405px;
height: 40px;
line-height:40px;
background: pink;
}
/*搜索热点部分 */
#maxbox .changlink .searchhot{
display: inline-block;
margin-left: 10px;
}
/* 换一换 */
#maxbox .changlink .change{
text-decoration: none;
margin-left: 265px;
}
/* 内容区域最大的盒子 设置宽高 超出部分消失 它的高度应该和每一批的高度一致 24*6=144 */
#maxbox .listcontentbox {
position: relative;
overflow: hidden;
width: 405px;
height: 144px;
}
/* li的父级元素ui */
#maxbox .listcontentbox .listcontent{
position: absolute;
list-style: none;
}
#maxbox .listcontentbox .listcontent>li{
height: 24px;
width: 405px;
line-height: 24px;
background: #ccc;
}
#maxbox .listcontentbox .listcontent>li:nth-child(even){
background-color: #E6E6E6
}
<!--
布局=》 一个大的div 中包含2个小的div 一个是标题 一个是内容 内容中有ul 》li
css样似=》


内容区域最大的盒子 设置宽高 超出部分消失 它的高度应该和每一批的高度一致 24*6=144 相对定位


li的父级元素ul绝对定位


li内容区域应该这是行高 和高度


思路:


计算li的父级ui的高度。----》计算现实6个li的高度-----》定义一个索引值,点击按钮,索引值加1----》ul上上移动


if(num==6){ //如果有n批就等于n
num=0;
}
ul.style.top=-liheight*num+"px"; //这里是ul往上移动,而不是ul的高度往上移动
-->
<div id="maxbox">
<!-- 这是标题部分 -->
<div class="changlink">
<span class="searchhot">搜索热点</span> <a href="javascript:;" class="change">换一换</a>
</div>
<!-- 这是内容部分 -->
<div class="listcontentbox">
<ul class="listcontent">
<li>1111111</li>
<li>2222222</li>
<li>1111111</li>
<li>4444444</li>
<li>1111111</li>
<li>66666666</li>
<li>1111111</li>
<li>2222sfsfsdf222</li>
<li>1111111</li>
<li>4444222sfsfsdf444</li>
<li>1111111</li>
<li>66666666</li>
<li>1111111</li>
<li>2222222</li>
<li>11111sfsf11</li>
<li>4444444</li>
<li>1111111</li>
<li>6666sfs6666</li>
<li>1111111</li>
<li>22222fsd22</li>
<li>1111111</li>
<li>4444444</li>
<li>1111111</li>
<li>66666666</li>
<li>1111111</li>
<li>22sczfdsfsfdfsdf22222</li>
<li>1111111</li>
<li>4444444</li>
<li>1111sfsf111</li>
<li>66666666</li>
<li>1111111</li>
<li>2222222</li>
<li>11111sfsdf11</li>
<li>4444444</li>
<li>1111111</li>
<li>66666666</li>
</ul>
</div>
</div>
// css中ul要超出部分就隐藏起来
var changeLinkModule=(function(){
// 计算li的父级ui的高度
var ul=document.querySelector(".listcontent");
var ulheight=ul.offsetHeight;
console.log(ulheight); //
// 计算现实6个li的高度
var li=document.querySelector('li');
var liheight=li.offsetHeight * 6;
console.log("每一批的高度是"+liheight); //24*6=144
var num=0;// 定义一个索引值
var change= document.querySelector(".change"); //选中按钮
var changelist=function(){
change.addEventListener('click',function(){
// alert("1");
// 这里你打不出来是是因为后面 你没有调用
num++;
if(num==6){ //如果有n批就等于n
num=0;
}
ul.style.top=-liheight*num+"px"; //这里是ul往上移动,而不是ul的高度往上移动
});
};
return {
huanyihuan:changelist
}
})();
changeLinkModule.huanyihuan();



相关文章
|
前端开发 JavaScript
HTML+CSS+JAVASCRIPT实现——情人节表白情书
本文主要介绍如何使用HTML三件套来实现制作一封情人节表白情书,富含情谊与爱,打动女生的心灵
1134 2
HTML+CSS+JAVASCRIPT实现——情人节表白情书
|
JavaScript 安全 编译器
CocosCreator 面试题(六)什么是泛型,有什么作用?
CocosCreator 面试题(六)什么是泛型,有什么作用?
348 0
Echarts组件legend属性显示数据和icon图片自定义的解决方案
Echarts组件legend属性显示数据和icon图片自定义的解决方案
974 0
|
语音技术
从语音信号处理角度解读mic规格书
对于语音信号处理来说,输入音频数据的质量很重要。而mic作为声音的采集设备,会直接影响采集到声音的质量。虽然mic选型是硬件或者声学方面的工作重点,但是对于从事语音信号处理相关人员来说,理解mic规格书中的一些技术指标也是大有裨益的。本文结合国家标准对mic规格书中的一些指标进行说明。
从语音信号处理角度解读mic规格书
|
分布式计算 算法 搜索推荐
阿里巴巴内部:2022年全技术栈PPT分享(架构篇+算法篇+大数据)
我只截图不说话,PPT大全,氛围研发篇、算法篇、大数据、Java后端架构!除了大家熟悉的交易、支付场景外,支撑起阿里双十一交易1682亿元的“超级工程”其实包括以下但不限于客服、搜索、推荐、广告、库存、物流、云计算等。 Java核心技术栈:覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。 大数据:Spark、Hadoop
antd table合并行或者列(动态添加合并行、列)
在Ant Design的Table组件中实现行或列的合并,通过动态计算数据源中的`rowSpan`或`colSpan`属性来控制,支持对特定字段进行行或列合并,包括多选框列的合并处理。
1694 3
antd table合并行或者列(动态添加合并行、列)
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
1031 3
|
安全 数据挖掘 语音技术
如何利用商品详情数据挖掘消费者的潜在需求?
通过分析商品基本信息、研究商品描述内容、解读商品图片信息及剖析用户评价与反馈,商家可以深入挖掘消费者的潜在需求。具体包括分析产品名称关键词、规格属性、功能描述、优势宣传、图片展示角度、场景化图片、正面与负面评价,以及关注商品销售数据的变化趋势和关联销售情况,从而精准把握消费者需求,优化产品和服务。
|
JavaScript 数据处理
如何使用 Vue.js 将数据对象的值放入另一个数据对象中?
如何使用 Vue.js 将数据对象的值放入另一个数据对象中?
|
供应链 Shell Python
经济订货量(Economic Order Quantity,简称EOQ)
经济订货量(Economic Order Quantity,简称EOQ)