首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF渲染后重新加载Anythingslider

JSF渲染后重新加载Anythingslider
EN

Stack Overflow用户
提问于 2013-03-20 18:30:43
回答 1查看 859关注 0票数 0

在渲染完列表中的div之后,我正在尝试重新加载我的Anythingslider。

代码语言:javascript
复制
    <h:selectOneMenu id="dropdownDevice"
        value="#{skinningBean.currentDevice}" converter="SkinConverter">
        <f:selectItems value="#{skinningBean.myDevicesSI}" var="c"
            itemValue="#{c}" />
        <a4j:ajax event="change" render="preview" oncomplete="reloadSlider()" />

    </h:selectOneMenu>

注意:预览div在slider1列表的周围

代码语言:javascript
复制
<script type="text/javascript">  
function reloadSlider() {  
    var $jq = jQuery.noConflict();
    $jq(function($){
      $jq('#slider1').anythingSlider();
    }); 
}  
</script>   

但我总是收到这个错误(我尝试了比这个更多的解决方案):

代码语言:javascript
复制
Error: TypeError: $jq(...).anythingSlider is not a function

在此之后,只显示简单的列表元素。有什么想法可以让我重新加载滑块吗?

编辑:我不想重新加载整个页面,因为下拉菜单不是我渲染的唯一组件

这是我初始化任何东西滑块的方式:

代码语言:javascript
复制
<script src="../js/jquery.anythingslider.js"></script>
<link rel="stylesheet" href="../css/anythingslider.css" />

<script type="text/javascript">
var $jq = jQuery.noConflict();
$jq(function($){
  $jq('#slider1').anythingSlider();
}); 
</script>

我只是复制了它并用一个函数包装了它,所以我可以第二次调用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-20 20:50:23

问题似乎是noConflict()模式在函数内部被多次调用,将其移到外部:

代码语言:javascript
复制
<script type="text/javascript">  
var $jq = jQuery.noConflict();
function reloadSlider() {  
    $jq(function($){
      $jq('#slider1').anythingSlider();
    }); 
}  
</script> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15521029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档