| 
				
				(JS) Вывести переменную из switch case
				 |   |  
| romgerman | Дата: Пятница, 01 Июня 2012, 11:33 | Сообщение # 1 |  
 
старожил 
Сейчас нет на сайте 
 
 | Смотри ниже.   Привет всем! Кто знает, как вывести переменную из массива?   Вот такой код:   Code                        switch (gravity.charAt(0)) {                           case 'n':                               tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north');                               break;                           case 's':                               tip.css({top: pos.top - actualHeight, left: pos.left + pos.width /2 - actualWidth /2}).addClass('tipsy-south');                               break;                           case 'e':                               tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east');                               break;                           case 'w':                               tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west');                               break;                       }        Мне нужно вывести переменную 'e', или как это назвать, из gravity в код:   Code                        if (opts.fade) {                           tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.9});                       //Сюда нужно вывести её и прилепить к коду tip.css({opacity: 0, display: 'block', visibility: 'visible', left:0}).animate({opacity: 0.9});                       } else {                           tip.css({visibility: 'visible'});                       }        Кто знает как это сделать? Уже 2 часа сижу мучаюсь, весь гугл перерыл нигде толкового ответа не могу найти.   P.S. Если что непонятно объяснил, задавайте вопросы. 
   Добавлено (31.05.2012, 20:58)   ---------------------------------------------   Ап 
   Добавлено (01.06.2012, 11:33)   ---------------------------------------------   ааааааап
 
 Сообщение отредактировал romgerman - Пятница, 01 Июня 2012, 16:19  |  
| 
 | 
 |    |  
| AGENTX001 | Дата: Пятница, 01 Июня 2012, 12:34 | Сообщение # 2 |  
 
почётный гцупер 
Сейчас нет на сайте 
 
 | romgerman, я не понял что тебе нужно  
 |  
| 
 | 
 |    |  
| romgerman | Дата: Пятница, 01 Июня 2012, 12:46 | Сообщение # 3 |  
 
старожил 
Сейчас нет на сайте 
 
 | Блин. Я хз, как лучше объяснить.
 |  
| 
 | 
 |    |  
| pixeye | Дата: Пятница, 01 Июня 2012, 13:05 | Сообщение # 4 |  
 
Red Winter Software 
Сейчас нет на сайте 
 
 | Quote (romgerman) Привет всем! Кто знает, как вывести переменную из массива?    
   Совершенно не понятно чего ты хочешь.   Вывести то, что в кейсе "E" ?   ну создаешь переменную глобальную для простоты int myVal;   Code  case 'e':                             myVal  = 10;                              break;      Теперь подставляй свой myVal куда хочешь. 
   но вообще если мы говорим про массив, то переменная выводится по индексу. myVal = myVals[currentIndex]; где currentIndex - индекс хранимого объекта.
  ACTORS - мой фреймворк на Unity   Until We Die - игра над которой работаю       
 |  
| 
 | 
 |    |  
| Master_Chief | Дата: Пятница, 01 Июня 2012, 14:46 | Сообщение # 5 |  
 
Shoot Space creator 
Сейчас нет на сайте 
 
 | во-первых откуда берётся эта е? во-вторых, судя по коду ты в кейсе назначаешь свойства, и непонятно что ты собираешься делать дальше. 
   а, ступил, прошу прощения. ситуация меняется, е - всего лишь представление символа по его коду (см. описание метода charAt()), т.е. по-сути она никакой роли, кроме как задания направления не играет, и хранит только цифровое представление символа (его код в таблице символов). Соответственно, как я понял, тебе нужно именно задание направления. Тогда юзай: 
   Code    if (opts.fade) tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth, opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.9}).addClass('tipsy-east');   else tip.css({visibility: 'visible'});      
   P.S.   Странная, однако, логика...
 
  
 
 Сообщение отредактировал Master_Chief - Пятница, 01 Июня 2012, 14:55  |  
| 
 | 
 |    |  
| romgerman | Дата: Пятница, 01 Июня 2012, 16:18 | Сообщение # 6 |  
 
старожил 
Сейчас нет на сайте 
 
 | Немного не то, но в правильном направлении. Вот весь код (это подсказки для сайта):   Code    (function($) {       $.fn.tipsy = function(options) { 
           options = $.extend({}, $.fn.tipsy.defaults, options);                      return this.each(function() {                              var opts = $.fn.tipsy.elementOptions(this, options);                              $(this).hover(function() { 
                   $.data(this, 'cancel.tipsy', true); 
                   var tip = $.data(this, 'active.tipsy');                   if (!tip) {                       tip = $('<div class="tipsy"><div class="tipsy-inner"></div></div>');                       tip.css({position: 'absolute', zIndex: 100000});                       $.data(this, 'active.tipsy', tip);                   } 
                   if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') {                       $(this).attr('original-title', $(this).attr('title') || ''); this.title = '';                    } 
                   var title;                   if (typeof opts.title == 'string') {                       title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title);                   } else if (typeof opts.title == 'function') {                       title = opts.title.call(this);                   } 
                   tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback); 
                   var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight});                   tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity                   tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);                   var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight;                   var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity; 
                   switch (gravity.charAt(0)) {                       case 'n':                           tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north');                           break;                       case 's':                           tip.css({top: pos.top - actualHeight, left: pos.left + pos.width /2 - actualWidth /2}).addClass('tipsy-south');                           break;                       case 'e':                           tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east');                           break;                       case 'w':                           tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west');                           break;                   } 
                   if (opts.fade) {                       tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.9});                   } else {                       tip.css({visibility: 'visible'});                   } 
               }, function() {                   $.data(this, 'cancel.tipsy', false);                   var self = this;                   setTimeout(function() {                       if ($.data(this, 'cancel.tipsy')) return;                       var tip = $.data(self, 'active.tipsy');                       if (opts.fade) {                           tip.stop().fadeOut(function() { $(this).remove(); });                       } else {                           tip.remove();                       }                   }, 0); 
               });                          });                  };              $.fn.tipsy.elementOptions = function(ele, options) {           return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;       };              $.fn.tipsy.defaults = {           fade: false,           fallback: '',           gravity: 's',           html: false,           title: 'title'       };              $.fn.tipsy.autoNS = function() {           return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';       };          })(jQuery);        Мне нужно из массива gravity вывести e в строку:   Code tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.9});     Этот массив относится к переменной tip.
 |  
| 
 | 
 |    |  
| Master_Chief | Дата: Пятница, 01 Июня 2012, 17:29 | Сообщение # 7 |  
 
Shoot Space creator 
Сейчас нет на сайте 
 
 | ещё раз говорю - е - всего лишь код, соответственно и обращаться надо к нему как gravity[0]. потому что в приведённом тобой коде по нему только свитчится остальная логика, и фактически само значение вроде как нигде не применяется (поправь, если ошибаюсь)
 
  
 |  
| 
 | 
 |    |  
| romgerman | Дата: Пятница, 01 Июня 2012, 19:25 | Сообщение # 8 |  
 
старожил 
Сейчас нет на сайте 
 
 | Ладно. Ничего не получается) Пробовал ещё через класс, но анимация с задержкой происходит. Всем спасибо!
 |  
| 
 | 
 |    |  
| Master_Chief | Дата: Пятница, 01 Июня 2012, 19:38 | Сообщение # 9 |  
 
Shoot Space creator 
Сейчас нет на сайте 
 
 | хотя бы задачу объяснил бы, можно было бы обойтись и без всяких тяжеловесных плагинов к jQuery
 
  
 |  
| 
 | 
 |    |  
| romgerman | Дата: Пятница, 01 Июня 2012, 19:52 | Сообщение # 10 |  
 
старожил 
Сейчас нет на сайте 
 
 | Master_Chief, каких ещё плагинов???
 |  
| 
 | 
 |    |  
| Master_Chief | Дата: Пятница, 01 Июня 2012, 20:04 | Сообщение # 11 |  
 
Shoot Space creator 
Сейчас нет на сайте 
 
 | эм, приведённый тобой код - код типичного плагина ротатора для jQuery
 
  
 |  
| 
 | 
 |    |  
| romgerman | Дата: Пятница, 01 Июня 2012, 20:06 | Сообщение # 12 |  
 
старожил 
Сейчас нет на сайте 
 
 | Master_Chief, What!? Это скрипт подсказок. Добавлено (01.06.2012, 20:06) --------------------------------------------- Хочу чтоб подсказка, которая появляется с западной стороны, не просто фэйдилась, а выезжала с левой стороны. 
 |  
| 
 | 
 |    |  
| Master_Chief | Дата: Пятница, 01 Июня 2012, 20:56 | Сообщение # 13 |  
 
Shoot Space creator 
Сейчас нет на сайте 
 
 | фсплм, полюбому плагин для jQuery. .animate() тебе в помощь
 
  
 |  
| 
 | 
 |    |     
		
		 
 |