Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.10.2018, 22:14
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от j0hnik Посмотреть сообщение
<style>
		div{
			width: 500px;
			height: 500px;
		}
	</style>
<div class="slider-for">слайдер</div>
	<script>

document.querySelector('.slider-for').onmousedown = e => e.target.style.cursor = 'pointer';
document.querySelector('.slider-for').onmouseup = e => e.target.style.cursor = 'default';

	</script>
благодарю!! Все просто как обычно - для тех кто знает JS ))
Ответить с цитированием
  #12 (permalink)  
Старый 30.10.2018, 22:26
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Igorsrt,
<style>
	div{
		background-color: red;
		width: 500px;
		height: 500px;
	}
	div:active{
		cursor: pointer;
	}
</style>

	<div class="slider-for">слайдер</div>

усовершенствованная версия

Последний раз редактировалось j0hnik, 30.10.2018 в 22:32.
Ответить с цитированием
  #13 (permalink)  
Старый 30.10.2018, 22:37
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от j0hnik Посмотреть сообщение
<style>
		div{
			width: 500px;
			height: 500px;
		}
	</style>
<div class="slider-for">слайдер</div>
	<script>

document.querySelector('.slider-for').onmousedown = e => e.target.style.cursor = 'pointer';
document.querySelector('.slider-for').onmouseup = e => e.target.style.cursor = 'default';

	</script>
хотя нет, не получается так... я хочу курсор grab поставить - не срабатывает.. лучше наверно, все-таки через классы css делать
Ответить с цитированием
  #14 (permalink)  
Старый 30.10.2018, 22:57
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

https://css-tricks.com/using-css-cur...le-header-id-1
Наведи на кнопки Happy, Sad, Meh )
Ответить с цитированием
  #15 (permalink)  
Старый 30.10.2018, 23:07
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от SuperZen Посмотреть сообщение
https://css-tricks.com/using-css-cur...le-header-id-1
Наведи на кнопки Happy, Sad, Meh )
мне не нужно "наведи", мне нужно "нажми левую кнопку мышки" ))
Ответить с цитированием
  #16 (permalink)  
Старый 30.10.2018, 23:49
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от Igorsrt Посмотреть сообщение
вот такой код попробовал:
jQuery('.slider-for').on({
  'mousedown': function (e) {
    jQuery(this).addClass('mouseDown');
    return false;
  },
  'mouseup': function () {
    jQuery(this).removeClass('mouseDown');
  }
});

При нажатии на кнопку - класс mouseDown добавляется, но при отпускании кнопки - почему-то пока не удаляется...
в общем, в конце-концов все заработало вот с этим изначальным скриптом... Всем спасибо большое!
Ответить с цитированием
  #17 (permalink)  
Старый 30.10.2018, 23:52
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

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

Для этого надо ставить слушатель на документ.)
Ответить с цитированием
  #18 (permalink)  
Старый 31.10.2018, 00:13
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

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

Для этого надо ставить слушатель на документ.)
там такая ситуация: если я нажал кнопку мышки на слайдере и нажатой перевожу курсор за его пределы (курсор при этом меняется на изначальный), потом отпускаю кнопку и обратно навожу на слайдер - то он опять как при нажатии (class="mouseDown")... это мелочи конечно - но если кто подскажет как починить, было бы супер ))
Ответить с цитированием
  #19 (permalink)  
Старый 31.10.2018, 00:17
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

хо-хо^^ я тебя раскусил...

Для этого надо ставить слушатель на документ.)
а это можешь, "ну или на ближайшую область"?)
Ответить с цитированием
  #20 (permalink)  
Старый 31.10.2018, 00:21
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var el = document.querySelector('.slider-for'), flag = 0;
		el.addEventListener('mousedown', e =>{
			flag = 1;
			el.style.cursor = 'pointer';
		});
		document.addEventListener('mouseup', e =>{
			flag = 0;
			el.style.cursor = 'default';
		});
		el.addEventListener('mouseout', e =>el.style.cursor = 'default');
		el.addEventListener('mouseover' ,e=>{
			if(flag) el.style.cursor = 'pointer';
		});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки кнопки при нажатии и обратно при повторном нажатии mff Общие вопросы Javascript 15 03.05.2018 14:12
Скролл контента удержанием левой кнопки мыши dezzignet jQuery 1 15.03.2016 17:26
показать/убрать текст при переходе с кнопки на кнопу radio zazula Общие вопросы Javascript 12 03.08.2015 11:53
Присвоение значений элементу input при нажатии кнопки. Минин Игорь Элементы интерфейса 8 26.11.2012 06:01
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21