【问题标题】:JqueryUI slider won't show upJqueryUI 滑块不会显示
【发布时间】:2012-03-09 16:56:50
【问题描述】:

我正在尝试在我的应用程序上放置一个可选滑块,我放置了 jqueryUI 的 jquery 滑块,但它在我的网页上不起作用。

html 是通过 php 生成的,并且在我的 js 中调用了 $('#slider').slider()

我把代码放在这里:

/CSS/

#slide{
    display: none;
    position: absolute;
    float: left;
    height: 14px;
    width: 200px;
    top: 35px;
    /*background-color: rgba(102, 102, 102, 0.90);*/
    padding : 10px;
    z-index: 2;
}

/HTML/

<div id="wrapper" data-role="content">

<div id="slide"><div id="slider"></div></div>

</div>

/*JAVASCRIPT */

$(document).on("click","#page-slider",function(){
    $('#slide').toggle("slow");
    $('#slider').slider();
});

如果有人看到问题或有想法,那就太好了。

提前谢谢你

【问题讨论】:

    标签: jquery slider


    【解决方案1】:

    您是否已加载 jQuery UI CSS?没有它,它将创建滑块 HTML,但您将看不到任何内容,因为它没有 CSS。

    <link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css' rel='stylesheet' type='text/css'>
    

    其次,为什么要在单击功能中初始化滑块?您应该只需要在文档准备好时执行此操作:

    $(document).ready( function() {
        $('#slider').slider();
    
        $(document).on("click","#page-slider",function(){
            $('#slide').toggle("slow");
        });
    });
    

    没有 CSS 的示例:http://jsfiddle.net/jtbowden/Ehr8y/

    CSS 示例:http://jsfiddle.net/jtbowden/Ehr8y/4/

    这是相同的代码,但在第二个示例中,我加载了基本的 jquery UI CSS。如果你看一下没有 CSS 的源码,你会看到:

    <div id="slider" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
        <a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 0%;"></a>
    </div>
    

    所以,显然.slider() 被执行了。

    【讨论】:

    • 我无法在文档就绪时初始化滑块(),因为 javascript 是在 html 中的滑块元素之前加载的。我意识到在点击功能上初始化它并不好,但我只想看一次,然后修复另一个问题
    • 这没有意义。 $(document).ready() 的全部意义在于,在加载所有元素之前不会运行脚本。如果你做得正确,这应该可以工作。
    • 当你调用 $('#slider').slider() 时,它会产生
      但对我来说它产生了这个
    • 我讨厌那种愚蠢的错误。 Jquery mobile 应该只在移动设备上加载,但事实并非如此,这只是因为这个。感谢您的快速回答
    • 当然。请单击我的答案旁边的复选标记。接受答案可确保人们将来会回答您的问题。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签