управление ползунком jQuery для непрозрачности

Я пытаюсь реализовать элемент управления слайдера jQuery для непрозрачности определенного элемента на моей веб-странице.

вроде как этот вопрос но с ползунком.

Мне было интересно, как я должен реализовать это лучше всего, так как я немного потерялся, как я должен начать...

Я предполагаю, что функция не будет лучшей, не так ли? Определение функции, а затем вызов ее для слайдера?

на документация jQuery для управления слайдером оказывается слишком сложным для меня для этой темы, но я уверен, что некоторые из вас могут помочь прояснить, как это сделать!

извините, вопрос довольно расплывчатый, но я не совсем уверен, как действовать.

2 ответов


Я не уверен, что именно вы хотели бы, чтобы ваш конечный результат был, но вот простой пример слайдера, контролирующего непрозрачность другого элемента на странице. Я включил комментарии в свой Javascript для соответствующих частей.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Slider</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/base/jquery-ui.css" type="text/css"/>

    <script type="text/javascript">
        $(document).ready(function() {
            //Step 1: set up the slider with some options. The valid values for opacity are 0 to 1
            //Step 2: Bind an event so when you slide the slider and stop, the following function gets called
            $('#slider').slider({ min: 0, max: 1, step: 0.1, value: 1 })
                .bind("slidechange", function() {
                    //get the value of the slider with this call
                    var o = $(this).slider('value');
                    //here I am just specifying the element to change with a "made up" attribute (but don't worry, this is in the HTML specs and supported by all browsers).
                    var e = '#' + $(this).attr('data-wjs-element');
                    $(e).css('opacity', o)
                });
        });
    </script>
    <style type="text/css">
        #box { width: 200px; height: 200px; background-color: #ff0000; }
        #slider { width: 200px; }
    </style>
</head>
<body>
    <div id="slider" data-wjs-element="box"></div>
    <div id="box">
        <p>Fade with the above slider...</p>
    </div>
</body>
</html>

это хороший пример кода, но я немного пересмотрел приведенный выше код, слайдер теперь изменяет непрозрачность сразу же, когда начинает скользить, и непрозрачность изменяется более плавно.`

Ползунок

<script type="text/javascript">
    $(document).ready(function() {
        //Step 1: set up the slider with some options. The valid values for opacity are 0 to 1
        //Step 2: Bind an event so when you slide the slider and stop, the following function gets called
        $('#slider').slider({ 
        min: 0, 
        max: 1, 
        step: 0.01, 
        value: 1,
        orientation: "vertical",
             slide: function(e,ui){
                     $('#box').css('opacity', ui.value)

             }                
        })
    });
</script>
<style type="text/css">
    #box { width: 200px; height: 200px; background-color: #ff0000; }
    #slider { width: 15px; }
</style>

Fade с помощью ползунка выше...

`