咕嘿嘿poi 2023-04-16 16:55 采纳率: 54.2%
浏览 36
已结题

querySelector与getElementById怎么决解?

querySelector与getElementById怎么决解?
下面的是两个JS,麻烦给改改 谢谢。


<div class="top-img-1">
  <div class=" top-img-sj-1"><p>打乱DIV1</p></div>
  <div class=" top-img-sj-1"><p>打乱DIV2</p></div>
  <div class=" top-img-sj-1"><p>打乱DIV3</p></div>
</div>
<!-- 引入内部JS -->
<script type="text/javascript">
// 将背景随机
window.onload=function(){
 randomFun1();
}

//    轮播背景顺序打乱
function randomFun1(){
        var container = document.querySelector('.top-img-1');
        var itemArr = container.querySelectorAll('.top-img-sj-1');
        var random = function(){return Math.random()>0.5 ? -1 : 1};
        var itemArrShuffled = Array.from(itemArr).sort(random);
        itemArrShuffled.forEach(function(item){
                container.appendChild(item);
                });
}
</script>


<div class="hhzp">
  <div id="div1">
    <a href="#" >A标签1</a>
    <a href="#" >A标签2</a>
    <a href="#" >A标签3</a>
  </div>
</div>
<!-- 下面的JS本来是外部文件,为了方便这里就写在内部了 -->
<script>
    window.onload = function() {
    var oDiv = document.getElementById('div1');
    var aA = oDiv.getElementsByTagName('a');
    var i = 0;
    for (i = 0; i < aA.length; i++) {
        aA[i].pause = 1;
        aA[i].time = null;
        initialize(aA[i]);
        aA[i].onmouseover = function() {
            this.pause = 0;
        };
        aA[i].onmouseout = function() {
            this.pause = 1;
        };
    }
    setInterval(starmove, 80);   /* 控制漂浮速度*/

    function starmove() {
        for (i = 0; i < aA.length; i++) {
            if (aA[i].pause) {
                domove(aA[i]);
            }
        }
    }

    function domove(obj) {
        if (obj.offsetTop <= -obj.offsetHeight) {
            obj.style.top = oDiv.offsetHeight + "px";
            initialize(obj);
        } else {
            obj.style.top = obj.offsetTop - obj.ispeed + "px";
        }
    }

    function initialize(obj) {
        var iLeft = parseInt(Math.random() * oDiv.offsetWidth);
        var scale = Math.random() * 1 + 1;
        var iTimer = parseInt(Math.random() * 1500);
        obj.pause = 0;

        obj.style.fontSize = 12 * scale + 'px';

        if ((iLeft - obj.offsetWidth) > 0) {
            obj.style.left = iLeft - obj.offsetWidth + "px";
        } else {
            obj.style.left = iLeft + "px";
        }
        clearTimeout(obj.time);
        obj.time = setTimeout(function() {
            obj.pause = 1;
        }, iTimer);
        obj.ispeed = Math.ceil(Math.random() * 4) + 1;
    }
};
</script>
  • 写回答

2条回答 默认 最新

  • 乘风xs 2023-04-16 17:04
    关注

    代码看起来没啥问题呀,详细描述下什么效果出不来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月17日
  • 修改了问题 4月16日
  • 创建了问题 4月16日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分