Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 17.02.2013, 00:51
Аспирант
Отправить личное сообщение для prison47 Посмотреть профиль Найти все сообщения от prison47
 
Регистрация: 03.12.2012
Сообщений: 54

Вот как-то так.
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script>

;(function($) {

    $.fn.pluginName = function( settings ) {
    	var settings = $.extend( {
    	 }, settings);
     return this.each(function() {
     	var element = $(this);
   $('.foo').click(function(){

    	     	alert($(this));
    });

}); 
};

}) (jQuery) ;
</script>
<style>
.foo{
width:100px;
height:100px;
background: #000;

}
</style>
<button onclick="$(this).pluginName()">Нажми </button>
<button onclick="$(this).pluginName()">Нажми 2</button>
<div class='foo'></div>

Последний раз редактировалось prison47, 17.02.2013 в 01:36.
Ответить с цитированием
  #22 (permalink)  
Старый 17.02.2013, 01:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от prison47
вживую клацать
http://javascript.ru/formatting
Ответить с цитированием
  #23 (permalink)  
Старый 17.02.2013, 01:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

prison47,
<!DOCTYPE HTML>

<html>

<head>
  <title></title>
<meta charset="utf-8" />
<style type="text/css">
#general_overlay{
  background-color: #FF0099;
   width: 300px;
   height: 50px;
}
</style>
</head>

<body>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>

(function($) {

    $.fn.pluginName = function( settings ) {

    	var settings = $.extend( {

    	 }, settings);

     return this.each(function() {

     	var element = $(this);
    if($('#general_overlay').length)  {alert('No pasarán'); return} ;
	if(!$('#general_overlay').length){

		$("<div id='general_overlay'></div>").appendTo($('body'));
	};

	var genOverlay = $('#general_overlay');

    element.click( function(){

    	genOverlay.show();

    });

    $('body').on('click.overPop', '#general_overlay', function(){

    	$(this).hide();

    	       //	console.log($(this));
    });

});
};

}) (jQuery) ;
</script>

<button onclick="$(this).pluginName()">Нажми </button>

<button onclick="$(this).pluginName()">Нажми 2</button>

</body>

</html>
Ответить с цитированием
  #24 (permalink)  
Старый 17.02.2013, 01:40
Аспирант
Отправить личное сообщение для prison47 Посмотреть профиль Найти все сообщения от prison47
 
Регистрация: 03.12.2012
Сообщений: 54

Спасибо за оформление, вот получается если произвожу клик на диве overlay он удаляется а в консоле this проходит два раза.

А в этом коде не могу разобраться, я незнаю значение переменных , например D
options = options || {};
		index   = options.index || 0;
		if (!selector || options.live === false) {
			that.unbind('click.fb-start').bind('click.fb-start', run);
		} else {
			D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
		}
		this.filter('[data-fancybox-start=1]').trigger('click');
		return this;
Ответить с цитированием
  #25 (permalink)  
Старый 17.02.2013, 01:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от prison47
this проходит два раза.
сейчас пост 23 это не так
Ответить с цитированием
  #26 (permalink)  
Старый 17.02.2013, 01:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

prison47,
лучше скажите как вы хотите чтоб это работало
Ответить с цитированием
  #27 (permalink)  
Старый 17.02.2013, 02:06
Аспирант
Отправить личное сообщение для prison47 Посмотреть профиль Найти все сообщения от prison47
 
Регистрация: 03.12.2012
Сообщений: 54

Понимаете у меня "плагин" он вешается например на кнопку. При клике на кнопку в конец бади добавляется див оверлей с display:none. Потом добавляется еще один див с определенной информацией он позиционирован в угол браузера. Кликаем на этот див с информацией он позиционируется в центр экрана а див оверелей появляется dispaly:block и затемняет экран. По принципе как в лайт боксах. Потом кликаем один раз на див оверлей он скрывается а второй див удаляется. Так вот клик на скрытие оверлея я вешаю через on(). Если вешать плагин на один элемент на странице (кнопку) то все ок, если на два то обработчик on() срабатывает 2 раза!

Точнее в конец бади оверлей добавляется сразу. А див с информацией при нажатии

Последний раз редактировалось prison47, 17.02.2013 в 02:14.
Ответить с цитированием
  #28 (permalink)  
Старый 17.02.2013, 02:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

prison47, извините но пока из ваших попыток в который раз обьяснить что вы хотите , я в который раз ничего непонял, может вам не плагин нужен?
Ответить с цитированием
  #29 (permalink)  
Старый 17.02.2013, 02:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от prison47
Потом добавляется еще один див
Сообщение от prison47
А див с информацией при нажатии
откуда берётся ваш таинственный див и куда исчезает ? и ненадо уточнять где что позиционировано , пока это только отвлекает, алгоритма невидно , что зачем и откуда должно происходить а что нет.
Ответить с цитированием
  #30 (permalink)  
Старый 17.02.2013, 02:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

prison47,
или сделали так
if(!$('#general_overlay').length){

		$("<div id='general_overlay'></div>").appendTo($('body'));

      $('body').on('click.overPop', '#general_overlay', function(){

    	$(this).hide();

    	       console.log($(this));
    });



    };
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
Вызов подметода плагина jQuery antonM jQuery 5 25.06.2012 12:44
Внешняя ссылка на страницу которая находится в IFRAME Модального окна плагина jQuery Андррр jQuery 0 07.12.2011 15:13
Поиск плагина выводящего подсказки к ссылкам, jQuery. Flashton Элементы интерфейса 6 04.03.2010 20:47