首先,我有一個非常基本的圖像輪播,顯示我通過PHP foreach循環抓取的視頻縮略圖。當用戶點擊縮略圖時,它將相應的視頻加載到上面的div中。旋轉木馬工作得很好,但是將onclick事件發送給div並不會。通過PHP的OnClick的jquery錯誤回聲
好吧我有以下代碼行我想要執行和代碼編輯器說它的正確,但是當我在瀏覽器中運行它我得到一個sytax錯誤「意外的令牌」,並且代碼不會結束工作。
echo "<li><a href='javascript:void(0);' onClick='setVideo(" .$youtube_link. "," .$type. "," .$video_title. "," .$custom_description. "," .$postURL. ");'>";
print_thumbnail($featured_thumb,"thumbnail",$youtube_link);
echo "</a></li>";
所以我用下面的代碼來代替:
echo '<li><a href="javascript:void(0);" onClick="setVideo(\'' . $youtube_link . '\', \'yt\',\'' . $video_title . '\',\'' . $custom_description . '\',\'' . $postURL . '\');">';
print_thumbnail($featured_thumb,"thumbnail",$youtube_link);
echo "</a></li>";
} ?>
此代碼的工作,並把視頻到格但在某些特定的視頻縮略圖時點擊它返回一個「意外的標識符」錯誤和沒有按」工作。我查看了爲每個縮略圖發送的數據,並且我沒有看到每個縮略圖之間的任何差異,以使其適用於某些縮略圖,而不是其他縮略圖。錯誤也是一致的,並且每次都保持在相同的帖子中。所以我的問題是,是來自JQuery的錯誤還是它發送給JQuery的數據?
這是相應的JQuery函數。
function setVideo(videoID, playerType, postTitle, postExcerpt, postURL){
width = 720;
height = 405;
if(playerType == 'yt') {
$('#video_player').replaceWith("<iframe id='video_player' class='youtube-player' type='text/html' width='"+ width +"' height='"+ height +"' src='http://www.youtube.com/embed/" + videoID + "?hd=1&html5=1&rel=0&autohide=1&showinfo=0' frameborder='0' ></iframe>");
}
}
爲什麼'$ type'從第一消失第二個代碼示例? – rmobis
您用''yt''替換'$ type'並在其旁邊添加一個空參數''''。這意味着該函數獲得比預期更多的參數。 – rmobis
$ type只包含yt,所以我只是決定在onclick中輸入yt而不是使用變量。 – Christopher