1

我正在尝试最小化(使其更高效)我的 JavaScript 代码并讨论我应该采用哪种方法。

我有 10 多个页面,每个页面都有两个不同的视频;未登录用户播放短视频,登录用户播放长视频。我正在开发 WordPress 网站,因此我使用 post-id 而不是视频播放器 id(plugin) 来定位每个视频,因为它是动态的(每次页面刷新时都会更改)。页面上的每个视频都包含在一个类中,因此我可以在单击任一视频时定位。

例如,

$f('#post-1883 .short-video .player').bind({
    ready : function(e) {
        e.preventDefault();
        console.log('short video'); 
        // Do something here if it's a short video      
    }   
});

 $f('#post-1883 .long-video .player').bind({
    ready : function(e) {
        e.preventDefault();
        console.log('long video');
        // Do something here if it's a long video           
    }   
}); 

正如您在示例中所见,当您在 JavaScript 文件中定位 10 个具有不同 post-ID(例如 #post-1122、#post-4234 等)的视频时,它可能会重复且笨拙。

处理这种情况的最佳方法是什么?我应该使用 switch-case 语句吗?

谢谢,罗鲁

4

1 回答 1

0

这对你有用吗?

$('.player').bind('click', function (e) {
    e.preventDefault();
    var self = $(this),
        videoId = this.id;

    if(self.hasClass('long-video')) {
        console.log('long video');
    } else if(self.hasClass('short-video')) {
        console.log('short-video');
        console.log(videoId);
    }
});

您可以看到正在运行的示例:JsFiddle

于 2013-10-29T16:26:35.887 回答