Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2017, 14:03
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

возврат значения pointer.val()
Добрый день уважаемые, подскажите пожалуйста, как при нажатии на кнопку Отмена(модального окна) перемещать ползунок на значение 9?
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
	<style>
		.corners:active, .corners:hover, .corners:focus{
			outline: none !important;
			outline-offset: 0;
		}
	</style>
</head>
<body>
	<input class="corners" type="range" min="0" max="10" step="1" value="0">
	<span>0</span>
	<script type="text/javascript">
		window.onload=function(){
			var pointer = $(".corners"),
			blockText = $("span");

			pointer.on("input", function () {

				pointerValue = pointer.val();

				console.log("$this.pointer.val() = " + pointer.val());
				blockText.text(pointerValue);

				if(pointerValue==10){
					if (confirm("Are you crazy?")) {

						alert("you chose  number 10")
					}else{
						pointer.val() ==9;
					}
				}
			})
		}
	</script>
</body>
</html>

Как запретить, если нажал Отмена, перевод ползунка в значение 10 ?
И ещё вопрос, как сделать что б указатель мышки не фиксировался на ползунке после нажатия на confirm ?
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2017, 14:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Black_Star
pointer.val() ==9;
это что? документацию на val(), нет желания прочесть?
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2017, 15:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Black_Star,
и поменяйте обработчик input на change
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2017, 16:15
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <style>
        .corners:active, .corners:hover, .corners:focus{
            outline: none !important;
            outline-offset: 0;
        }
    </style>
</head>
<body>
    <input class="corners" type="range" min="0" max="10" step="1" value="0">
    <span>0</span>
    <script type="text/javascript">
        window.onload=function(){
            var pointer = $(".corners"),
            blockText = $("span");
 
            pointer.on("input", function () {
 
                pointerValue = pointer.val();
 
                console.log("$this.pointer.val() = " + pointer.val());
                blockText.text(pointerValue);
 
                if(pointerValue==10){
                    if (confirm("Are you crazy?")) {
 
                        alert("you chose  number 10")
                    }else{
                        pointer.val(9);
                    }
                }
            })
        }
    </script>
</body>
</html>

.val(newVal) атрибуту value будет присвоено значение newVal, у всех выбранных элементов. Ок с этим вроде бы разобрался. Правда оно всё равно не работает. После вызова значение все равно становится равно 10
Сообщение от Dilettante_Pro Посмотреть сообщение
Black_Star,
и поменяйте обработчик input на change
Чем change лучше?
И ещё как быть что б не было "прилипания" курсора к ползунку?

Последний раз редактировалось Black_Star, 27.01.2017 в 16:21.
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2017, 16:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Black_Star,
Сообщение от Black_Star
Чем change лучше?
Почувствуйте разницу (запускайте по одному примеру с обновлением страницы, чтобы не было паразитного влияния. От режима с input трудно избавиться)
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
	<style>
		.corners:active, .corners:hover, .corners:focus{
			outline: none !important;
			outline-offset: 0;
		}
	</style>
</head>
<body>
	<input class="corners" type="range" min="0" max="10" step="1" value="0">
	<span>0</span>
	<script type="text/javascript">
		window.onload=function(){
			var pointer = $(".corners"),
			blockText = $("span");

			pointer.on("input", function () {

				pointerValue = pointer.val();

				console.log("$this.pointer.val() = " + pointer.val());
				blockText.text(pointerValue);

				if(pointerValue==10){
					if (confirm("Are you crazy?")) {

						alert("you chose  number 10");
					}else{
						pointer.val(9) ;
                                                blockText.text(pointer.val());

					}
				}
			})
		}
	</script>
</body>
</html>


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
	<style>
		.corners:active, .corners:hover, .corners:focus{
			outline: none !important;
			outline-offset: 0;
		}
	</style>
</head>
<body>
	<input class="corners" type="range" min="0" max="10" step="1" value="0">
	<span>0</span>
	<script type="text/javascript">
		window.onload=function(){
			var pointer = $(".corners"),
			blockText = $("span");

			pointer.on("change", function () {

				pointerValue = pointer.val();

				console.log("$this.pointer.val() = " + pointer.val());
				blockText.text(pointerValue);

				if(pointerValue==10){
					if (confirm("Are you crazy?")) {

						alert("you chose  number 10");
					}else{
						pointer.val(9) ;
                                                blockText.text(pointer.val());

					}
				}
			})
		}
	</script>
</body>
</html>

Последний раз редактировалось Dilettante_Pro, 27.01.2017 в 16:27.
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2017, 18:44
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Сообщение от Dilettante_Pro
Почувствуйте разницу (запускайте по одному примеру с обновлением страницы, чтобы не было паразитного влияния. От режима с input трудно избавиться)
Эммм, разницу я в принципе увидел если пускать через change то параметр значения ползунка не записывается в blockText до того момента пока я его не остановлю. Вот только я не понял чем это должно быть хорошо? Плавного хода нет, отображение - нет. Или я должен был на что то другое смотреть? Так я и не понял почему change лучше
Ответить с цитированием
  #7 (permalink)  
Старый 27.01.2017, 22:24
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Black_Star,
У меня в хроме на десктопе вариант с инпут при отмене крутится бесконечно. На смартфоне с хромом - нормально
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат значения из функции eniacty Общие вопросы Javascript 4 17.11.2014 16:50
Возврат принятого значения внешней функции из jquery ajax pro_xaoc jQuery 2 20.06.2014 12:20
Возврат значения функции после завершения анимации (затухания) grego jQuery 5 16.04.2013 22:25
Возврат значения Rompo Общие вопросы Javascript 6 27.04.2012 12:32
возврат увеличенного значения AJAX mikeles AJAX и COMET 0 31.10.2009 08:48