使用jquery / javascript </script>将`<script>`标记附加到html

时间:2013-03-07 10:00:17

标签: javascript html jquery

我正在进行幻灯片放映,我需要在其中返回一部分带有<script>标记和一段javascript函数的HTML。我想添加它,因为我可以有多个幻灯片放映,每个一个具有不同属性的变量,如过渡,滑动速度等。此功能包含滑块属性的参数。

  return    '<div id="slider" class="nivoSlider">'+
                '<div class="">'+
                    '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide01.jpg" data-thumb="images/slideShow/thumb/slide01.jpg" alt="" />'+
                '</div>'+
                '<div class="">'+
                    '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide02.jpg" data-thumb="images/slideShow/thumb/slide02.jpg" alt="" />'+
                '</div>'+
                '<div class="">'+
                    '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide03.jpg" data-thumb="images/slideShow/thumb/slide03.jpg" alt="" />'+
                '</div>'+
                '<div class="">'+
                    '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide04.jpg" data-thumb="images/slideShow/thumb/slide04.jpg" alt="" />'+
                '</div>'+
            '</div>'+'<script>$("#slider").nivoSlider({effect: "sliceDown",animSpeed: 500,pauseTime: 3000,startSlide: 0,controlNavThumbs: true,controlNavThumbsFromRel:true, pauseOnHover: true,manualAdvance: false});</script>';

setTimeout中的函数是我需要存储在HTML 中的函数 我尝试通过将其存储在变量中并将其附加到setTimeout()中来实现它。我使用了.toString().append() .html .text但是脚本直接运行或执行而不是将其存储在html 结构中。如何将该函数存储在HTML结构中的脚本标记内?

2 个答案:

答案 0 :(得分:1)

如果您希望将脚本标记的内容存储为函数,则需要为该函数指定名称。只需将其全部包含在function setSlideShowTimeout() { setTimeout(function … ); };

中即可

答案 1 :(得分:1)

您的setTimeout功能不正确..

 '<script>setTimeout(function slideShow(){$("#slider")......</script>';
                      //------^^^^^^^^---here you are creating a function `slideShow`

应该是

'<script>setTimeout(function(){$("#slider")......</script>';

 function slideShow(){
      $("#slider").nivoSlider({
            effect: "sliceDown",
            animSpeed: 500,
            pauseTime: 3000,
            startSlide: 0,
            controlNavThumbs: true,
            controlNavThumbsFromRel:true, 
            pauseOnHover: true,
            manualAdvance: false
      })
  }

 setTimeout(slideShow,100);

我不认为你需要添加这个作为回报..在你的主页面添加它..它应该工作