Skip to main content

Search and Top Navigation

#15385 new bug ()

Opened August 04, 2020 08:57PM UTC

Last modified August 04, 2020 08:58PM UTC

UI slider isn't visible when page loads into container

Reported by: fromA-Z Owned by:
Priority: minor Milestone: none
Component: ui.core Version: 1.12.1
Keywords: Cc:
Blocked by: Blocking:
Description

I have a range slider on a page of my website that isn't visible for some reason. I can't figure out why.

The body of index.php consists of a navigation bar with 4 links and a separate container with the

id="pageContent"
.

In my JavaScript, when the page loads it loads another page (HomePage.php) into

#pageContent
(
$(#pageContent).load('HomePage.php');
).

As for the navigation bar; it takes the name of the clicked link as a variable, adds .php to the end of it and loads that into

#pageContent
:

$('#navContent a').on('click', function() {

    var page = $(this).attr('href'); // Get link name 

    $(#pageContent).load(page + '.php'); // Load clicked page

    return false;

});

One of the site's pages (

var page
) has a range slider on it. My problem is the slider doesn't show when that page loads [into
#pageContent
].

I'm not getting any browser console errors either.

Here's the code for the sliders:

HTML

<div class="SliderContainer">
                    
    <input type="hidden" id="minWT" value="2.5" />
    <input type="hidden" id="maxWT" value="30" />

    <p class="wtNumber" id="showWT">2.5Ct - 30Ct</p>

    <div class="rangeContainer">
        <div id="WTrange"></div>
    </div>

</div>

JS

$('#WTrange').slider({
        
    range: true,
    values: [2.50, 30.00],
    min: 2.50,
    max: 30.00,
    step: 0.01,
    change:

        function(event, ui) {
            
            alert('Things have changed!');
            
        },
    slide: 

        function(event, ui) {
            
            // Prevent range thumbs from overlapping
            if ((ui.values - ui.values[1]) < 3) {

                return false;

            }
        
            $('#showWT').html(ui.values[0] + 'Ct - ' + ui.values[1] + 'Ct'); // Show value above range slider
            $('#minWT').val(ui.values[0]);
            $('#maxWT').val(ui.values[1]);
            
        }
        
});

When I run the page separately the slider shows but when I run it with the rest of my site [into

#pageContent
] it doesn't.
Attachments (0)
Change History (1)

Changed August 04, 2020 08:58PM UTC by fromA-Z comment:1

description: I have a range slider on a page of my website that isn't visible for some reason. I can't figure out why. \ \ The body of index.php consists of a navigation bar with 4 links and a separate container with the {{{id="pageContent"}}}. \ \ In my JavaScript, when the page loads it loads another page (HomePage.php) into \ {{{#pageContent}}}({{{$(#pageContent).load('HomePage.php');}}}). \ \ As for the navigation bar; it takes the name of the clicked link as a variable, adds .php to the end of it and loads that into \ {{{#pageContent}}}: \ \ {{{ \ \ $('#navContent a').on('click', function() { \ \ var page = $(this).attr('href'); // Get link name \ \ $(#pageContent).load(page + '.php'); // Load clicked page \ \ return false; \ \ }); \ }}} \ \ One of the site's pages ({{{var page}}}) has a range slider on it. My problem is the slider doesn't show when that page loads [into {{{#pageContent}}}]. \ \ I'm not getting any browser console errors either. \ \ Here's the code for the sliders: \ \ \ == HTML \ \ {{{ \ <div class="SliderContainer"> \ \ <input type="hidden" id="minWT" value="2.5" /> \ <input type="hidden" id="maxWT" value="30" /> \ \ <p class="wtNumber" id="showWT">2.5Ct - 30Ct</p> \ \ <div class="rangeContainer"> \ <div id="WTrange"></div> \ </div> \ \ </div> \ }}} \ \ \ == JS \ \ {{{ \ $('#WTrange').slider({ \ \ range: true, \ values: [2.50, 30.00], \ min: 2.50, \ max: 30.00, \ step: 0.01, \ change: \ \ function(event, ui) { \ \ alert('Things have changed!'); \ \ }, \ slide: \ \ function(event, ui) { \ \ // Prevent range thumbs from overlapping \ if ((ui.values - ui.values[1]) < 3) { \ \ return false; \ \ } \ \ $('#showWT').html(ui.values[0] + 'Ct - ' + ui.values[1] + 'Ct'); // Show value above range slider \ $('#minWT').val(ui.values[0]); \ $('#maxWT').val(ui.values[1]); \ \ } \ \ }); \ }}} \ \ When I run the page separately the slider shows but when I run it with the rest of my site [into \ {{{#pageContent}}}] it doesn't. Does anyone know what i'm doing wrong? \ I have a range slider on a page of my website that isn't visible for some reason. I can't figure out why. \ \ The body of index.php consists of a navigation bar with 4 links and a separate container with the {{{id="pageContent"}}}. \ \ In my JavaScript, when the page loads it loads another page (HomePage.php) into \ {{{#pageContent}}}({{{$(#pageContent).load('HomePage.php');}}}). \ \ As for the navigation bar; it takes the name of the clicked link as a variable, adds .php to the end of it and loads that into \ {{{#pageContent}}}: \ \ {{{ \ \ $('#navContent a').on('click', function() { \ \ var page = $(this).attr('href'); // Get link name \ \ $(#pageContent).load(page + '.php'); // Load clicked page \ \ return false; \ \ }); \ }}} \ \ One of the site's pages ({{{var page}}}) has a range slider on it. My problem is the slider doesn't show when that page loads [into {{{#pageContent}}}]. \ \ I'm not getting any browser console errors either. \ \ Here's the code for the sliders: \ \ \ == HTML \ \ {{{ \ <div class="SliderContainer"> \ \ <input type="hidden" id="minWT" value="2.5" /> \ <input type="hidden" id="maxWT" value="30" /> \ \ <p class="wtNumber" id="showWT">2.5Ct - 30Ct</p> \ \ <div class="rangeContainer"> \ <div id="WTrange"></div> \ </div> \ \ </div> \ }}} \ \ \ == JS \ \ {{{ \ $('#WTrange').slider({ \ \ range: true, \ values: [2.50, 30.00], \ min: 2.50, \ max: 30.00, \ step: 0.01, \ change: \ \ function(event, ui) { \ \ alert('Things have changed!'); \ \ }, \ slide: \ \ function(event, ui) { \ \ // Prevent range thumbs from overlapping \ if ((ui.values - ui.values[1]) < 3) { \ \ return false; \ \ } \ \ $('#showWT').html(ui.values[0] + 'Ct - ' + ui.values[1] + 'Ct'); // Show value above range slider \ $('#minWT').val(ui.values[0]); \ $('#maxWT').val(ui.values[1]); \ \ } \ \ }); \ }}} \ \ When I run the page separately the slider shows but when I run it with the rest of my site [into \ {{{#pageContent}}}] it doesn't. \