javascript - 传入变量的 js 函数堆栈,.hide() 不起作用

标签 javascript jquery css console.log

当我点击视频缩略图时,我有一个播放视频的功能。我试图显示/隐藏通过 php 动态生成的视频描述,但它似乎不起作用。

设置:带有 jwplayer7 的 wordpres cms。

这是调用js函数的html

<div class="s_l_whole_item" title="sample.mp4" onclick="playVOD(this.id)" id="sample.mp4"> video image here </div>

所有 javascript 都在外部文件中,这是播放视频的函数,应该显示/隐藏(尚未实现,但即使隐藏也不起作用)为每个视频动态创建的 div

function playVOD(filename) {
    jwplayer('MediaPlayerOverview_LS_dvr')
            .setup(
                    {
                        sources : [
                                {
                                    file : "rtmp://xx.xxx.xxx.xxx:1935/vod/mp4:"+ filename
                                },
                                {
                                    file : "http://xx.xxx.xxx.xxx:1935/vod/mp4:"
                                            + filename + "/playlist.m3u8"
                                } ],
                        rtmp : {
                            bufferlength : 3,
                        },
                        logo : {
                            file : 'http://www.somepicture.nu/a.jpg',
                            link : 'http://www.link.nu/'
                        },
                        abouttext : "right click text",
                        aboutlink : "http://www.right click link.com",
                        autostart : true,
                        title : 'title',
                        width : '100%',
                        height : "100%",
                        aspectratio : '16:9',
                        skin : 'glow',
                        fallback : true,
                        androidhls : true,

                    })

        jQuery(document).ready(function() {

            jQuery('.s_l_whole_item').live('click', function(event) {
                //jQuery(this).closest('.hiden_karuselis').find('#ka_'+filename).toggle();

                jQuery(this).closest('.hiden_karuselis').find('#ka_'+filename).hide();

                 console.log("I have been clicked!");
                 console.log('#ka_'+filename);

            });
        });

}

视频播放适用于每次不同的点击,它会播放我点击的视频,但由于某种原因它不会显示/隐藏 div。

这是我试图根据点击的视频隐藏/显示的 div。出于演示目的,假设它只是“sample.mp4”

<div class="hiden_karuselis">
 <div class="ka_file" id="ka_sample.mp4">
  <div class="ka_file_name">sample</div>
  <div class="ka_file_description">description of file</div>
  <div class="ka_file_date">2016-04-19 10:19:33</div>
 </div>
</div>

尝试不成功后,我注意到 chrome 控制台输出变量,就好像该函数将自己附加到它之前的所有调用一样。 这是我在 3 个不同视频上单击 3 次时在控制台中看到的内容。

vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_sample.mp4
vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_sample.mp4
vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_myStream.mp4
VM9740:13 Unhandled event from "MediaPlayerOverview_LS_dvr_swf_0": state %7B%22newstate%22%3A%22idle%22%2C%22oldstate%22%3A%22playing%22%2C%22type%22%3A%22state%22%7D
vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_sample.mp4
vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_myStream.mp4
vod_player.js?ver=4.4.3:77 I have been clicked!
vod_player.js?ver=4.4.3:78 #ka_rtgwait.mp4
VM9823:13 Unhandled event from "MediaPlayerOverview_LS_dvr_swf_1": state %7B%22newstate%22%3A%22idle%22%2C%22oldstate%22%3A%22playing%22%2C%22type%22%3A%22state%22%7D

在上面的日志中,我点击了“sample.mp4”,然后点击了“mystream.mp4”,最后点击了“rtgwait.mp4”

为什么 .hide() 不起作用,为什么日志中有堆叠变量?每次我点击按钮/调用功能时,它们不应该被清除吗? 我认为这也是 jwplayer7 错误原因以及 .hide() 不工作的原因。

我该如何解决这个问题?

最佳答案

console.log(filename); 正在向控制台写入 #ka_sample.mp4,这表明变量“filename”已正确设置.

然后您将使用文件名变量 ('#ka_'+filename),它将查找 ID 为 #ka_#ka_sample.mp4 的元素,该元素不存在。

我会删除 '#ka_' 位,这样您应该:

jQuery(this).closest('.hiden_karuselis').find(filename).hide()

关于javascript - 传入变量的 js 函数堆栈,.hide() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37138124/

相关文章:

javascript - 从 Dexie promise 中获取值(value)

javascript - 如果我在常规语法中包含 vendor 前缀,转换是否会应用两次?

jquery - 动画.effect() jqueryui最快点击

html - 正文元素中的图片 : url issues?

javascript - 如何选择具有 :hover subclass? 的 HTML DOM 元素

javascript - For循环迭代器变量在迭代中共享,每次执行不同的值

javascript - Redux-Saga 为单个操作运行两次

jQuery 类过滤和 css 转换延迟/阻塞动画在下面的部分

javascript - jQuery UI Position - Div over Image 问题

html - CSS:父元素的 margin-top 不影响子元素的 margin-top