2013-07-22 4 views
1

Я использую пользовательский интерфейс jQuery для отображения нескольких подсказок на странице, которая извлекает контент из разных атрибутов.Несколько источников содержимого всплывающих подсказок, определяемых с помощью объекта Array

Создается объект, который определяет, какой источник будет для каждой подсказки, в зависимости от его класса.

Что-то вроде:

var tooltipparam = [{"class":".one","source":"alt"}, {"class":".two","source":"title"},{"class":".three","source":"alt"}]; 

Тогда я делаю петлю, чтобы создать всплывающие подсказки, как это:

for (var key in tooltipparam) { 

    var source = tooltipparam[key]['source']; 
    $(tooltipparam[key]['class']).tooltip({ 
      content: function() { return $(this).attr(source) } 
     }); 
} 

Однако toolips создаются с использованием новейших настройки параметров объект. В этом случае, забирающий атрибут альт ({ «класс»: „Источник“ «три.»: „Альт“}. И создавать все подсказки, как это

Что я пропускаю

Вот jsfiddle? :

http://jsfiddle.net/cmoreira/vqRH5/

Спасибо за вашу помощь

ответ

1

вашего var source является глобальной переменным когда функция содержания подсказки называется, то есть, когда мышь ввести свой <a/> элемент!. , значение переменной source является последним, установленным так «alt».

Я не знаю, ваше требование, но если вы хотите, чтобы извлечь содержимое всплывающей подсказки из различных атрибутов вы можете продолжить так:

HTML:

<div class="tooltip" title="tooltip from title" /> 
<img class="tooltip" alt="tooltip from alt" src="..."/> 

JS:

$(".tooltip").tooltip({ 
    content: function() { 
     var _this = jQuery(this); 
     return _this.attr('title') != '' ? 
      _this.attr('title') : _this.attr('alt'); 
    } 
});