TEL:400-8793-956
当前位置:程序、服务器

我的“下一个”按钮不起作用

提问者: 近期获赞: 浏览人数: 发布时间:2021-04-02 09:40:06

 问:我已经把自己弄糊涂了。当我单击我的下一个按钮(或停止按钮)时,它不会删除上一个项目上的“当前”类,因此它保持粉红色。这可能是显而易见的。

 
playlist.js
 
函数 Playlist () {
此。歌曲= []; 这个。nowPlayingIndex = 0 ; }播放列表。原型。添加=功能(歌曲){这个。歌曲。推(歌); }; 播放清单。原型。播放=功能(){ var currentSong = this 。歌曲[    
 
     这个。nowPlayingIndex ]; 
currentSong 。播放(); }; 播放清单。原型。stop = function (){ var currentSong = this 。歌曲[这个。nowPlayingIndex ]; currentSong 。停止(); }; 播放清单。原型。next = function (){ this 。停止(); 这个。nowPlayingIndex  
 
  ++ ; 
如果(此。nowPlayingIndex ===此。歌曲。长度){此。nowPlayingIndex = 0 ; }这个。播放(); }; 播放清单。原型。renderInElement =函数(列表){列表。innerHTML = “” ; 对于(var i = 0 ; i <     
 
        这个。歌曲。长度;  我++ ) {
清单。innerHTML + = this 。歌曲[ i ]。toHTML (); } };      
 
app.js
 
var  playlist  =  new  Playlist (); 
VAR hereComesTheSun =新曲(“太阳出来了” ,“披头士” ,“2:54” ); var WalkingOnSunshine =新歌曲(“在阳光下行走” ,“卡特里娜” ,“ 3:43” );var manOfSteel =新电影(“钢铁侠” ,2013年,“ 2:23:00” );播放列表。
 
hereComesTheSun ); 
播放列表。添加(walkingOnSunshine ); 
播放列表。添加(manOfSteel ); var playlistElement = document 。getElementById (“播放列表” ); 播放列表。renderInElement (playlistElement ); var playButton = document 。getElementById (“ play” ); playButton 。onclick = function (){播放列表
 
  。播放(); 
播放列表。renderInElement (playlistElement ); } var nextButton = document 。getElementById (“ next” ); nextButton 。onclick = function (){播放列表。next (); 播放列表。renderInElement (playlistElement ); } var stopButton = document 。getElementById (“ stop” ); 停止按钮    
 
。onclick  =  function () {
播放列表。停止(); 播放列表。renderInElement (playlistElement ); }      
 
media.js
 
功能 Media (标题, 持续时间) { 
this 。标题=标题; 这个。持续时间=持续时间; 这个。isPlaying = false ; }媒体。原型。play = function (){ this 。isPlaying = true ; }; 媒体。原型。停止=功能(){    
 
  这个。isPlaying  = 停止;
};
song.js
 
功能 歌曲(标题, 艺术家,时 长) {
媒体。致电(this ,title ,duration ); 这个。艺术家=艺术家; }歌。prototype =对象。创建(媒体。原型); 歌。原型。toHTML = function (){ var htmlString =    
 
     '<li' ; 
如果(此。IsPlaying模块){ htmlString + = '类= “当前”' ; } htmlString + = '>' ; htmlString + = this 。标题; htmlString + = '-' ; htmlString + = this 。艺术家; htmlString + = '<span class =“ duration”>' ; htmlString + = this 。持续时间; htmlString + = '</ span> <   
 
  返回 htmlString ; 
};
movie.js
 
功能 电影(标题, 年,时 长) {
媒体。致电(this ,title ,duration ); 这个。年=年; }电影。prototype =对象。创建(媒体。原型); 电影。原型。toHTML = function (){ var htmlString = “ <li”    
 
     ; 
如果(此。IsPlaying模块){ htmlString + = '类= “当前”' ; } htmlString + = '>' ; htmlString + = this 。标题; htmlString + = '(' ; htmlString + =此。年; htmlString + = ')' ; htmlString + = '<span class =“ duration”>' ; htmlString + = this 。持续时间;    
 
    '</ span> </ li>' ; 
返回htmlString ; 控制台。日志(htmlString ); };   
  
 
style.css
 
@进口 网址(HTTP ://字体。googleapis 。的COM / CSS ?家庭=瓦雷拉+圆); 
@进口 URL (HTTP :// necolas 。github上。IO /归一化。CSS / 3 。0 。2 /正常化。CSS ); 
正文{背景:#ECEEEF
 
     ; 
text-align :center ; 边距:100 px自动; 宽度:80 %; 填充:0 40像素; 字体:14 px正常的“ Varela Round” ,Helvetica ,serif ; } h1 { font-size :20 px ; 颜色:白色; } div {背景:#c25975 ;     
 
    边框半径: 4像素;
边框:1 px实线#D5DDE4 ; 边距:-40 px 0 0 ; } OL {列表样式类型:无; 填充:0 ; 背景:白色; 边距:0 0 ; 宽度:100 %; 显示:inline-block ; } li { color :       
 
     #2C3238 ; 
宽度:96 %; 填充:15 px 2 %; 边距:0 ; 文字对齐:向左;border-top :1 px实心#D5DDE4 ; } li span { float :right ; 颜色:#777B7E ; }里。当前{背景:#ffd7d8 ; }按钮{     
 
    边距:10像素; 
填充:10 px 35 px ; 边界:无; 边框半径:5像素;背景:白色; }     
 
index.html
 
<!DOCTYPE html> 
< html > 
< head > 
< title > Treetunes </ title > < link rel = “ stylesheet” href = “ style.css” /> </ head > <正文> < div > < h1 > Treetunes < / h1 > < ol id = “播放列表” > </ ol > <按钮ID = “播放”    
 
         >播放</ button > 
< button id = “ next” >下一步</ button > < button id = “ stop” >停止</ button > </ div > < script src = “ playlist.js” > </ script > <脚本src = “ media.js” > </脚本> <脚本src = “ movie.js”> </脚本>         
 
    <脚本 src = “ song.js” > </脚本> 
<脚本src = “ app.js” > </脚本> </ body > </ html >     
 
 
答:这确实是一个小错误,它位于您的media.js文件中。您在哪里写:
 
媒体。原型。停止 = 功能() {
此。isPlaying =停止;};    
 
应该是:
 
媒体。原型。停止 = 功能() {
此。isPlaying = false ; };    
 
上一篇: 没有出现在页面顶部的wordpress菜单栏
下一篇: 为什么我收到一条错误消息,即在我的列表项下的section标记下添加图像?