zoukankan      html  css  js  c++  java
  • 8月25日。

    如何通过移动到一个li上,改变另一个元素的文本内容,可以自定义属性。

    自定义属性的设定:1是 先获取自定义属性的值:var 值=元素节点.getAtribute("自定义属性名“)2:设置自定义属性值:元素节点.setAttribute("自定义属性名","自定义属性值")

    设置鼠标放在li上,和移走li时,可以这样设置属性。.className="active";.className="";

    具体如下:<script>
        function over(obj){
            //鼠标放在li上,让当前元素的class="active
            obj.className="active";
            //获取自定义属性nn的值:var 值=元素节点。getAtrribute(“自定义属性名”)
            //设置自定义属性值:
            //元素节点.setAtrrribute(‘自定义属性名“,”自定以属性值“)
            //获取自定义属性nn的值
            var nn=obj.getAttribute("nn");
            //获取div元素
            var dd=document.getElementsByClassName("text")[0];
            //设置文本内容
            var content="<h2>"+nn+"月活动</h2><p>这是"+nn+"月活动内容</p>"
            //修改div文本节点
            dd.innerHTML=content;
        }
        function out(obj){
            //当鼠标从li移走时,让当前元素的class=“”
            obj.className="";
        }
        </script>

    还有一种简单的方法;将obj改为this.可以省略添加繁多的onMouseover等事件。

    具体如下:是通过获取每一个父元素的子元素。然后用循环添加所需要修改的东西。

    <script>
        function over(){
            //鼠标放在li上,让当前元素的class="active
            this.className="active";
            //获取自定义属性nn的值:var 值=元素节点。getAtrribute(“自定义属性名”)
            //设置自定义属性值:
            //元素节点.setAtrrribute(‘自定义属性名“,”自定以属性值“)
            //获取自定义属性nn的值
            var nn=this.getAttribute("nn");
            //获取div元素
            var dd=document.getElementsByClassName("text")[0];
            //设置文本内容
            var content="<h2>"+nn+"月活动</h2><p>这是"+nn+"月活动内容</p>"
            //修改div文本节点
            dd.innerHTML=content;
        }
        function out(){
            //当鼠标从li移走时,让当前元素的class=“”
            this.className="";
        }
        window.onload=function(){
            //获取id时tab的div
            var dd=document.getElementById("tab");
            //获取idv下的所有li的元素
            var lis=dd.getElementsByTagName("li");
            //遍历数组得到每一个li的元素节点
            for(var i=0;i<lis.length;i++){
                lis[i].onmousemove=over;
                lis[i].onmouseout=out;
            }
        }
        </script>

    很多网页的一种效果可以通过css的dispiay,与js的添加事件相结合组成。也就是说通过行内元素与块状元素的相互转化来实现效果。

    具体图下:<style>
        #d1{
             200px;
            height: 200px;
            background: red;
        }
        #d2{
             200px;
            height: 200px;
            background: blue;
            display: none;
        }
        
    </style>
    <script>
        function over(){
            //获取蓝色div
            var dd=document.getElementById("d2");
            //让蓝色div显示
            dd.style.display="block";
        }
        function out(){
            //获取蓝色div
            var dd=document.getElementById("d2");
            //让蓝色div显示
            dd.style.display="none";
        }

    onkeyup指按下某个按键时触发。onchange文本框失去焦点守内容改变触发。onsubmit单机提交按钮时在表单form时触发。onfocus任何元素或窗口获得焦点时触发。onblur任何元素或窗口失去焦点时触发。

    如何制作轮播图。先获取每一张图片的路径,再将他们存到数组中,在获取被点击按钮的VALUE值,在将图片路径改为下标的值,用if语句将第一张与最后一张分别定义。在设置定时器,鼠标放上定时器消失,移走定时器恢复。具体如下。

    <script type="text/javascript">
        var index=0;
        var arr;
        var img;
        var timer;
        window.onload=function(){
            //先将8张图片路径存到数组中
            arr=["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg"];
            img=document.getElementById("image");
            //设置定时器(每个2秒调用next方法)
            timer=setInterval(next,2000);
            
        }
        //切换图片
        function changeImg(obj){
            //获取当前被点击按钮的value值(对应要切换图片的下标)
            index=obj.value;
            //将图片路径改为对应下标的值;
            img.src=arr[index];
        }
        //下一张
        function next(){
            //如果当前一页时第一张图片下标
            if(index==arr.length-1){
                index=0;
            }else{
                //否则,就是下一站图片下标
                index++;
            }
            img.src=arr[index];
        }
        //上一张
        function up(){
            if(index==0){
                index=arr.length-1;
            }else{
                index--;
            }
            img.src=arr[index];
        }
        //当鼠标放在图片标签图片上时触发
        function over(){
            //清除定时器
            
            clearInterval(timer);
        }
        //当鼠标从图片标签上移走时触发
        function out(){
            //设置定时器
            timer=setInterval(next,2000);
        }
    </script>

    简单方法:

    <script type="text/javascript">
        var index=0;
        var arr;
        var img;
        var timer;
        window.onload=function(){
            //先将8张图片路径存到数组中
            arr=["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg"];
            img=document.getElementById("image");
            //获取所有class="btn"的按钮元素组成的数组
            var btns=document.getElementsByClassName("btn");
            //遍历数组得到每一个元素
            for(var i=0;i<btns.length;i++){
                //添加点击事件
                btns[i].onclick=changeImg;
            }
            //给图片标签添加鼠标
            img.onmouseover=over;
            img.onmouseout=out;
            
            //设置定时器(每个2秒调用next方法)
            timer=setInterval(next,2000);
            
        }
        //切换图片
        function changeImg(){
            //获取当前被点击按钮的value值(对应要切换图片的下标)
            index=this.value;
            //将图片路径改为对应下标的值;
            img.src=arr[index];
        }
        //下一张
        function next(){
            //如果当前一页时第一张图片下标
            if(index==arr.length-1){
                index=0;
            }else{
                //否则,就是下一站图片下标
                index++;
            }
            img.src=arr[index];
        }
        //上一张
        function up(){
            if(index==0){
                index=arr.length-1;
            }else{
                index--;
            }
            img.src=arr[index];
        }
        //当鼠标放在图片标签图片上时触发
        function over(){
            //清除定时器
            
            clearInterval(timer);
        }
        //当鼠标从图片标签上移走时触发
        function out(){
            //设置定时器
            timer=setInterval(next,2000);
        }
    </script>

  • 相关阅读:
    【LeetCode】085. Maximal Rectangle
    哈希查找
    堆排序
    归并排序
    希尔排序
    快速排序
    堆区和栈区,malloc和new的区别
    C++基础
    二分查找
    冒泡排序
  • 原文地址:https://www.cnblogs.com/maxuefeng/p/13561161.html
Copyright © 2011-2022 走看看