花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 164|回复: 93

保姆级range进度条音频播放器开发教程(三)

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2024-1-28 08:33 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    本帖最后由 马黑黑 于 2024-1-28 12:04 编辑

    保姆级range进度条音频播放器开发教程(二) 一讲中,我们去掉了 audio 控件的UI界面、用图片充当按钮接管音频播放/暂停的工作。不过,细心的朋友可能已经发现了一些问题,比如音乐播放结束之后按钮的旋转还在继续,抑或当设置了audio自动播放,音乐播放后按钮不会旋转,等等。这是因为缺乏相应的智能联动控制机制所致——我们只是通过按钮的点击事件设置了 --state 这个CSS变量来操控按钮。本节将重点处理这个问题,建立音频和按钮的完好关系,达到音频与按钮旋转动作的智能联动效果。这需要用到 audio 控件的两个事件:

    ① onpause : 暂停事件
    
    	用 JS 的 监听方法时,按规范,所有 onxxx 的元素事件,统统不要 on 前缀。例:
    	
    	aud.addEventListener('pause', () => {/*做点什么*/});
    		
    	注意:这里的 onpause 在 addEventListener() 中写成 pause,但它和 pause() 方法不是同一个东东,要区分开来:前者是元素的事件,与元素的点击事件同属一个类型,后者是audio对象的属性方法,用于发起一个暂停动作。
    	
    ② onplaying : 正在播放事件
    
    	同样地,JS监听事件的方法也不要前缀 on,例:
    	
    	aud.addEventListener('playing', () => {/*做点什么*/});
    
    【注意】audio 还有一个 onplay 事件,和 onplaying 不同,它表示音频(部分或全部)准备就绪可以播放了。onplaying 和 onplay 的主要区别不难理解,记住也不难(~ing后缀表示正在进行)。我们用前者 onplaying 而不是后者就在于它们的本质区别:我们要的结果是,音频是否已经在播放中。
    

    假设我们已经有了一个处理按钮是旋转还是静止状态的函数 mState() ——我们稍后要编写它——,那么,可以想象,我们通过监听上述两个事件来运行这个函数,按钮的旋转与否就可以达到我们前述的所谓智能联动预期。理由:onpause 事件发生时,音乐暂停,mState 函数则会令 --state 这个CSS变量值变为 'paused'(又一个 paused!它是CSS的,不是audio的);onplaying 事件发生时,音乐正在播放中,则 mState 函数会令 --state 变量值变为 'running'(谢天谢地!CSS这回没有使用 playing)。这个可以理解吧?如果能理解,那就看看监听事件代码,否则需要花点时间慢慢琢磨,领会后再往下看:

    aud.addEventListener('pause', () => mState());
    aud.addEventListener('playing', () => mState());
    

    代码非常简单,就是监听 pause(onpause) 和 playing(onplaying)事件,当这两个事件发生时,都运行 mState() 函数。下来就是重头戏:编写我们冰雪聪明的 mState() 函数,mState 是我们自己命名的,可以用其它的,我们之所以用 mState,m指music,state指状态,多少有点意思:

    var mState = () => {
    	if (aud.paused) { /* 如果audio处在暂停状态 */
    		btnplay.style.setProperty('--state', 'paused'); /* 让按钮的旋转停下 */
    	} else {/* 否则 */
    		btnplay.style.setProperty('--state', 'running'); /* 让按钮的转起来 */
    	}
    };
    
    /* 用三目运算改写上述 mState 函数,感受一下语法糖的精美 */
    var mState = () => btnplay.style.setProperty('--state', aud.paused ? 'paused' : 'running');
    

    这个其实就是上一节图片按钮的功能之一,是从那里剥离出来的功能模块,不同的是现在这个功能用于函数而非元素的相关事件,它可以被反复调用——如前已述,两个 audio 控件监听事件时刻监听着这个函数,随时控制着按钮的旋转动作。 如果(if)条件语句的依据依然是 aud.pausedpaused 对象属性是 audio 控件一个重要属性,上节提到过,它返回音频是否处于暂停状态,在对 audio 控件不使用异步编程的情况下,paused 属性是判断音频控件最为可靠的依据。

    mState() 函数主要负责管理按钮的旋转状态(将来功能可以扩展),它的加持通过 audio 的 onpause 和 onplaying 两个监听事件对它的调用加以实现,从而介入对按钮运行状态的实质性管理。这样,按钮的点击事件就不用管自身旋转与否的问题,只需专心负责音乐的播放与暂停就好(我们用三目运算写法替代原来冗长的if语句):

    btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();
    

    解释一下三目运算,也称三元运算。上句是经典的三目运算语句,问号 ? 问,前面的 aud.paused 是否成立?答,成立的话,播放音乐【aud.play();】。冒号 : 说,否则,停止音乐【aud.pause();】。

    最后,组织一下新的代码,看看我们的产品是不是有些长进:

    <style>
    #mplayer {
    	position: absolute;
    	text-align: center;
    	color: white;
    }
    #mplayer p {
    	margin: 0;
    	padding: 0;
    }
    #mprog {
    	width: 240px;
    	accent-color: darkgreen;
    	outline: none;
    	cursor: pointer;
    }
    #btnplay {
    	width: 80px;
    	height: 80px;
    	cursor: pointer;
    	animation: rotating 6s infinite linear var(--state);
    }
    @keyframes rotating { to { transform: rotate(360deg); } }
    </style>
    
    <audio id="aud" src="https://music.163.com/song/media/outer/url?id=4046323"></audio>
    <div id="mplayer">
    	<p><img id="btnplay" src="https://638183.freep.cn/638183/small/002_133507167677724892.png" title="播放/暂停" alt="" /></p>
    	<p><input id="mprog" type="range" min="0" max="100" step="0.1" value="0" title="调节进度" /></p>
    </div>
    
    <script>
    
    var mState = () => btnplay.style.setProperty('--state', aud.paused ? 'paused' : 'running');
    
    aud.addEventListener('timeupdate', () => {
    	mprog.value = aud.currentTime / aud.duration * mprog.max;
    });
    aud.addEventListener('pause', () => mState());
    aud.addEventListener('playing', () => mState());
    
    btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();
    
    </script>
    

    运行上述代码,音乐播放完毕,按钮会停止旋转。给 audio 标签加入 autoplay,如果浏览器支持自动播放,按钮会自动旋转,反之如果浏览器不支持自动播放,按钮静止不动、直至我们去点击它。pencile code 可以运行上述代码,也可以将代码存为本地html文件再运行。

    评分

    参与人数 3威望 +110 金钱 +220 经验 +110 收起 理由
    醉美水芙蓉 + 30 + 60 + 30 赞一个!
    红影 + 50 + 100 + 50 赞一个!
    起个网名好难 + 30 + 60 + 30 赞一个!

    查看全部评分

  • TA的每日心情
    无聊
    2025-5-5 04:26
  • 签到天数: 597 天

    [LV.9]以坛为家II

    185

    主题

    5874

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥飞龙在天王者至尊大将风范音画大师天籁妙音花潮贵宾

    发表于 2024-1-28 10:01 | 显示全部楼层
    <a href="" target="_blank">pencile code</a>


    指向论坛首页了
    我就来看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2025-5-5 04:26
  • 签到天数: 597 天

    [LV.9]以坛为家II

    185

    主题

    5874

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥飞龙在天王者至尊大将风范音画大师天籁妙音花潮贵宾

    发表于 2024-1-28 10:06 | 显示全部楼层
    还可以继续做(四),音乐停止时滑杆指示可以被拖动到任意位置
    我就来看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 10:57 | 显示全部楼层
    原来CSS的和audio的控制音乐的语句不一样呢,这个之前从来没注意过
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 10:59 | 显示全部楼层
    “如果浏览器支持自动播放,按钮会自动旋转”
    我浏览器设置了自动播放,按钮还是没转啊,需要点击才开始呢。
    进度条没法拉进度,等了一会,直到音乐播放完,按钮果真停止了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 11:07 | 显示全部楼层
    又学到不少东西。黑黑辛苦了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:02 | 显示全部楼层
    红影 发表于 2024-1-28 11:07
    又学到不少东西。黑黑辛苦了

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:04 | 显示全部楼层

    忘了粘贴链接,谢谢提醒
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:05 | 显示全部楼层
    起个网名好难 发表于 2024-1-28 10:06
    还可以继续做(四),音乐停止时滑杆指示可以被拖动到任意位置

    播放的时候也可以,不过还没时间动手写
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:08 | 显示全部楼层
    红影 发表于 2024-1-28 10:57
    原来CSS的和audio的控制音乐的语句不一样呢,这个之前从来没注意过

    CSS是不能控制音乐的!

    CSS通过CSS变量告知元素动画是否运行,它并不能控制音乐。而要动态改变CSS变量,CSS自己无能为力,需要JS通过监听、判断,去改变CSS的变量值。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:09 | 显示全部楼层
    红影 发表于 2024-1-28 10:59
    “如果浏览器支持自动播放,按钮会自动旋转”
    我浏览器设置了自动播放,按钮还是没转啊,需要点击才开始呢 ...

    还没到调节进度这一步,不要焦急
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 12:13 | 显示全部楼层
    红影 发表于 2024-1-28 10:59
    “如果浏览器支持自动播放,按钮会自动旋转”
    我浏览器设置了自动播放,按钮还是没转啊,需要点击才开始呢 ...

    看样纸保姆不好做,俺还是去做保公得了

    代码中,audio 标签并没有设置自动播放,你的浏览器支持自动播放,可是音频控件没有自动播放,不播放就不会令按钮旋转。原文将由 autoplay 问题,你在看看
    回复 支持 反对

    使用道具 举报

    醉美水芙蓉 该用户已被删除
    发表于 2024-1-28 13:18 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 15:42 | 显示全部楼层
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 15:44 | 显示全部楼层
    马黑黑 发表于 2024-1-28 12:08
    CSS是不能控制音乐的!

    CSS通过CSS变量告知元素动画是否运行,它并不能控制音乐。而要动态改变CSS变量 ...

    嗯嗯,这就是为什么一直有变量参与其中的缘故吧。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 15:44 | 显示全部楼层
    马黑黑 发表于 2024-1-28 12:09
    还没到调节进度这一步,不要焦急

    嗯嗯,等着下一节课程
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2024-1-28 15:45 | 显示全部楼层
    马黑黑 发表于 2024-1-28 12:13
    看样纸保姆不好做,俺还是去做保公得了

    代码中,audio 标签并没有设置自动播放,你的浏览器 ...

    怪我,我没去仔细看就提问了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 17:57 | 显示全部楼层
    红影 发表于 2024-1-28 15:45
    怪我,我没去仔细看就提问了

    猴急心态
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 17:58 | 显示全部楼层
    红影 发表于 2024-1-28 15:44
    嗯嗯,等着下一节课程

    吃透讲过的,会有很大长进
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2024-1-28 18:03 | 显示全部楼层
    红影 发表于 2024-1-28 15:44
    嗯嗯,这就是为什么一直有变量参与其中的缘故吧。

    变量的好处是变量的值是可以变的(所以叫变量),CSS变量值变了,浏览器就能根据新的变量值渲染使用该变量的元素,而谁用了这个变量,是在CSS里指派的。但CSS是静态的语言,它对变量的值只能初始的时候赋值一次,页面加载完毕它啥也干不了了。而JS是动态的,任何时候它都可以改变现有的一切,甚至可以创建新的元素、新的CSS样式。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-16 17:55 , Processed in 0.081147 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表