请教一个动态ID的设置和JS获取动态ID的问题,具体详情请往下看,非常感谢啊!!谢谢了!!谢谢了!!!是这样的,我做了一个视频转载到页面的功能,视频代码如下:
<embed id="shipin" src="http://优酷土豆.swf" quality="high" width="540" height="450" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>该代码之下有一个图片按钮“点击宽屏播放”,点击后用JS来重新设置宽屏,图片代码如下:
<img style="cursor:hand" onclick="shezhikuanping()" src="../img/kuananniu.gif" alt="趣我花缘宽屏高清模式播放" />页面最底部</body>之上有“关闭宽屏播放”的按钮,代码如下:
<div id="guanbikuanping" style="position:absolute;right:0;top:10px;width:20px;font-size:14px;text-align:center;display:none;">
    本网站开发宽屏播放模式,只为要你好看<br/><br/>
    <img style="cursor:hand" onclick="guanbikuanping()" src="../img/gbkpgq.gif" alt="关闭宽屏高清" />
</div>点击“点击宽屏播放”的时候,JS代码如下:
function shezhikuanping()  //宽视频模式时,即用JS代码定义宽屏播放的宽度和高度,隐藏横纵向滚动条
{
   var sw=window.screen.availWidth;   //视频宽,整个显示屏的宽度
   var sh=document.documentElement.clientHeight;  //视频高,浏览器窗口的可用高度,不是网页整个高度,而是浏览器窗口的可视高度(不包括浏览器头部)
   document.getElementById("shipin").width=(sw-25)+"px";  //减去30像素,是为了要给关闭DIV留出空间
   document.getElementById("shipin").height=(sh+10)+"px";  //加上10像素,是为增加视频的高度,可以隐去小部分视频底部操作栏空间,同时也不会影响操作   
   document.getElementById("shipin").style.position="absolute";  //视频设为绝对定位
   document.getElementById("shipin").style.top="0";
   document.getElementById("shipin").style.left="0";
   document.getElementById("guanbikuanping").style.display="block";  //显示关闭宽屏按钮
   this.scroll(0,0);   //设置横纵向滚动条的坐标
   document.getElementById("html1").style.overflowX="hidden";  //遮罩时消除横向滚动条
   document.getElementById("html1").style.overflowY="hidden";  //遮罩时消除纵向滚动条
}               点击“关闭宽屏播放”时候,JS代码如下:
function guanbikuanping()  //关闭宽视频模式
{
   document.getElementById("shipin").width="540px";              //还原原来的宽度
   document.getElementById("shipin").height="450px";             //还原原来的高度
   document.getElementById("shipin").style.position="relative";  //原来原来相对定位的位置
   document.getElementById("guanbikuanping").style.display="none";   //关闭高清模式的按钮DIV
   document.getElementById("html1").style.overflowX="auto";          //横向滚动条可用
   document.getElementById("html1").style.overflowY="auto";          //纵向滚动条可用
   window.location.href="#shipin";  //让页面回到原视频的位置
}在页面只有一个视频的情况下,测试就是完全正常的,但是如果页面上不止一个视频的话,测试就不正常了,打开和关闭仅对页面上第一个视频有效。比如说,我点击第二个视频之下的“点击宽屏播放”,它就会让第一个视频成为宽屏充满整个浏览器可用区域。
问题是视频往往不止一个呀,一个帖子,如果有五六楼回帖,每一楼都有一个视频的话,应该怎么解决呢?我想应该是动态ID吧,但是要怎样设置动态ID呢,JS又怎么获取动态ID呢?
请各位大侠帮一把,谢谢了,3Q

解决方案 »

  1.   

    你每引用一个视频就给个不同的id行不?然后调用方法的时候把id给传进去
      

  2.   

    设置点击相应按钮时传递对象进去就可以了呀。而不要用document.getElementById("shipin")这种方法 。
      

  3.   

    在embed 绑定id为“xxx”,与之对应的img里绑定“xxxy”,然后onclick=fn(this);传过去对ID处理下,不就可以识别了.................绑定可以用<% 后台数据%>么...
      

  4.   

    感谢各位哥们,感谢你的帮助,问题是视频并没有单独写入数据库的呀,怎么绑定呢?
    用户提交的视频地址“优酷土豆.swf”是和文字内容混在一起的,只是用来作标记
    写入库中content字段的内容如【给大家推荐一个很牛的视频哈,http://优酷土豆.swf,如果感觉好一定要顶我哟,如果你觉得这个不过瘾的话,再来一个哟,http://优酷土豆.swf
    我在输出到页面的时候,用相应的HTML代码来对作替换。在线等高手,谢谢了!