js实现多个滑动门在同一个页面展示效果

多个滑动门在同一个页面展示,在工作小组里面,一直是一个让人比较纠结的问题~学习库里面有一个技术同事5年前给封装的控件,大家就一直在用复用那个。

最近项目里面用到的这个效果非常多,每次都要调用那个js控件,还得按规则匹配相应的id,真心觉得麻烦,就在想,为嘛不自己写一个可以通用的~

于是,就有了下面这个脚本效果:

js:

<script type="text/javascript" >
  var arrayObj = [‘ ‘,‘ ‘,‘ ‘,‘ ‘,‘ ‘,‘ ‘,‘ ‘];
  function slide(index,id){
		    var newsObj = document.getElementById(‘a‘ +index+arrayObj[index]);
			var newsObj01 = document.getElementById(‘b‘ +index +arrayObj[index]);
			var obj = document.getElementById(‘a‘+index+ id);
			var obj01 = document.getElementById(‘b‘+index+ id);
			if(newsObj){
				 newsObj.style.display = ‘none‘;
				 newsObj01.className = ‘option2‘;

			}
				obj01.className = ‘option1‘;
				obj.style.display = ‘‘;
                arrayObj[index]= id;
	}
</script>

  html代码(放了三个滑动门作为示例)

<div class="indexNews">
  <div class="top">
    <div class="option2" id="b11" onMouseOver="slide(1,1)">体育新闻</div>
    <div class="option2" id="b12" onMouseOver="slide(1,2)"><a href="#">娱乐新闻</a></div>
    <div class="option2" id="b13" onMouseOver="slide(1,3)"><a href="#">推荐新闻</a></div>
    <div class="option2" id="b14" onMouseOver="slide(1,4)"><a href="#">推荐新闻</a></div>
  </div>
  <div class="newsBorder">
    <div id="a11" style="display:none;">
	<div class=articleList>
          <ul>
            <li>文字内容</li>
          </ul>
        </div>
    </div>

    <div id="a12" style="display:none;">
	<div class=articleList>
          <ul>
            <!-- 娱乐新闻 -->
            <li><a href="#">文字内容文字内容</a></li>
          </ul>
        </div>
    </div>

    <div id="a13" style="display:none;">
	<div class=articleList>
          <ul>
            <!-- 推荐新闻 -->
            <li><a href="#">文字内容文字内容文字内容</a></li>
          </ul>
        </div>
    </div>

    <div id="a14" style="display:none;">
	<div class=articleList>
          <ul>
            <!-- 推荐新闻 -->
            <li><a href="#">文字内容文字内容文字内容文字内容</a></li>
          </ul>
        </div>
    </div>
  </div>
</div>
<div class="indexNews">
  <div class="top">
    <div class="option2" id="b21" onMouseOver="slide(2,1)">体育新闻</div>
    <div class="option2" id="b22" onMouseOver="slide(2,2)"><a href="#">娱乐新闻</a></div>
    <div class="option2" id="b23" onMouseOver="slide(2,3)"><a href="#">推荐新闻</a></div>
  </div>
  <div class="newsBorder">
    <div id="a21" style="display:none;">
	<div class=articleList>
          <ul>
            <li><a href="#">"文字内容文字内容文字内容文字内容</a></li>
            <li><a href="#">文字内容文字内容文字内容文字内容文字内容文字内容文字内容</a></li>
          </ul>
        </div>
    </div>

    <div id="a22" style="display:none;">
	<div class=articleList>
          <ul>
            <li><a href="#">文字内容文字内容文字内容</a></li>
          </ul>
        </div>
    </div>
    <div id="a23" style="display:none;">
	<div class=articleList>
          <ul>
            <li><a href="#">文字内容</a></li>
          </ul>
        </div>
    </div>
  </div>
</div>
<div class="indexNews">
  <div class="top">
    <div class="option2" id="b31" onMouseOver="slide(3,1)">体育新闻</div>
    <div class="option2" id="b32" onMouseOver="slide(3,2)"><a>娱乐新闻</a></div>
  </div>
  <div class="newsBorder">
    <div id="a31" style="display:none;">
	<div class=articleList>
          <ul>
            <li><a href="#">文字内容文字内容</a></li>
          </ul>
        </div>
    </div>
    <div id="a32" style="display:none;">
	<div class=articleList>
          <ul>
            <li><a href="#">文字内容文字内容文字内容文字内容文字内容文字内容</a></li>
          </ul>
        </div>
    </div>
  </div>
</div>

  最后调用js

<script>slide(1,1);slide(2,1);slide(3,1);</script>

每天进步一点点,趣味无限~

js实现多个滑动门在同一个页面展示效果

时间: 2024-08-06 08:56:37

js实现多个滑动门在同一个页面展示效果的相关文章

js动画 无缝轮播 进度条 文字页面展示 div弹窗遮罩效果

1.无缝轮播 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser

js实现简单的滑动门和tab选项卡

思想:首先定义三个选项卡,可以用任何标签,只要如下图, 一共有三个ul,第一个ul给一个class,因为默认第一个选项卡的内容显示出来, 其他两个ul  display:none: 当我鼠标移到第二个第三个选项卡的时候,删除第一个选项卡的class,鼠标移到哪里就给哪个选项卡那个class 思路就這样 下面是完全的代码 最好自己写写,然后参考自己下面的代码 <!DOCTYPE html> <html> <head> <meta charset="utf-

【回忆1314】回忆之横竖滑动门

直接看效果点这里 HTML <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title> 横竖滑动门 </title> <link rel="stylesheet" href="sliding-door.css"/> </head> <body&g

一款经典简洁的CSS滑动门代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

一款CSS+JS+DIV制作的蓝色风格tab滑动门

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款CSS+JS+DIV制作的蓝色风格ta

JS滑动门

<a href="#" id="one1" onmouseover="setTab('one',1,2)" class="hover">专家汇聚</a> <a href="#" id="one2" onmouseover="setTab('one',2,2)" >主治医师</a> <div id="con

电商网站滑动门特效

今天在慕课网学习了JavaScript滑动门特效,这个特效在电商网站上比较常见,难度适中,要对JavaScript和DOM比较熟悉. 一.实现HTML + CSS结构 首先编写HTML代码 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>sliding doors</title> 6 <link rel="s

8.3 应用滑动门技术的玻璃效果菜单

本例中要实现一个玻璃材质效果的水平菜单.为了表现出立体的视觉效果,以及玻璃的质感.必须借助图像才可以实现,完成后的效果如图1所示. 该实例文件位于网页学习网CSS教程资源的“第8章\03\glass-navi.htm”. 图1 玻璃效果的菜单 本例中用到了两个图像,分别作为整个菜单的背景色平铺使用的,和当鼠标指针经过某个菜单项的时候显示出来的. 从效果图中可以看出,玻璃材质图是一个固定的图像文件,而菜单中的各个菜单项宽窄不一,却都可以完整地显示出来,这是如何实现的呢?这里使用的就是“滑动门”技术

javascript滑动门的实现方法和案例

首先我们知道js滑动门的三种实现思路: -自定义方法 -闭包 -自定义属性 那么写个列子分析一下各自的好坏.demo地址:http://codepen.io/tianzi77/pen/jPMPeB html结构: <div id="content"> <div id="tabs"> <ul> <li class="active">天子</li> <li>滑动门</li&