Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2011, 12:02
Аватар для SnikerS
Интересующийся
Отправить личное сообщение для SnikerS Посмотреть профиль Найти все сообщения от SnikerS
 
Регистрация: 16.12.2010
Сообщений: 19

Подписи картинок в Lytebox
Здравствуйте.

На стр. плагин u24 lytebox выводит серию фоток и подписи к ним:
LyteBox.prototype.updateDetails = function() {
	var object = this.doc.getElementById('lbCaption');
	var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1]));
	object.style.display = '';
	object.innerHTML = (sTitle == null ? '' : sTitle);
	this.updateNav();
	this.doc.getElementById('lbDetailsContainer').style.display = '';
	object = this.doc.getElementById('lbNumberDisplay');
//Вот тут
	if (this.isSlideshow && this.slideArray.length > 1) {
		object.style.display = '';
		object.innerHTML = "<b>" + document.title.slice(20, 56) + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.slideArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none');
//И ещё раз тут
	} else if (this.imageArray.length > 1 && !this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "<b>" + document.title.slice(20, 56) + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.imageArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none');
	} else if (this.frameArray.length > 1 && this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = '';
	} else {
		this.doc.getElementById('lbNavDisplay').style.display = 'none';
	}
	this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100));
};

Сейчас берётся document.title и обрезается для вставки назв. модели. Но на стр. есть h1.title с тем же названием. Подскажите как сделать обращение к h1?

Последний раз редактировалось SnikerS, 09.08.2011 в 12:59.
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2011, 12:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

var h1 = document.querySelector("h1.title");


или

var a = document.getElementsByTagName("h1"), b = a.length, h1;
while(b--) if( ~a[b].className.indexOf("title") ){ h1 = a[b]; break;}

h1// OHO
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2011, 12:35
Аватар для SnikerS
Интересующийся
Отправить личное сообщение для SnikerS Посмотреть профиль Найти все сообщения от SnikerS
 
Регистрация: 16.12.2010
Сообщений: 19

вместо текста выводит [object HTMLHeadingElement] (и 1 и 2 прим.)
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2011, 12:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

лучше юзать второй пример, первый не всеми браузерами поддерживается.

alert( h1.className );
alert( h1.innerHTML );

Последний раз редактировалось devote, 09.08.2011 в 12:50.
Ответить с цитированием
  #5 (permalink)  
Старый 09.08.2011, 13:01
Аватар для SnikerS
Интересующийся
Отправить личное сообщение для SnikerS Посмотреть профиль Найти все сообщения от SnikerS
 
Регистрация: 16.12.2010
Сообщений: 19

Ну я сделал так:
LyteBox.prototype.updateDetails = function() {
	var object = this.doc.getElementById('lbCaption');
	var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1]));
	object.style.display = '';
	object.innerHTML = (sTitle == null ? '' : sTitle);
	this.updateNav();
	this.doc.getElementById('lbDetailsContainer').style.display = '';
	object = this.doc.getElementById('lbNumberDisplay');
	if (this.isSlideshow && this.slideArray.length > 1) {
		object.style.display = '';
//Вставил
var a = document.getElementsByTagName("h1"), b = a.length, h1;
while(b--) if( ~a[b].className.indexOf("pos-title") ){ h1 = a[b]; break;}
		object.innerHTML = "<b>" + h1 + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.slideArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none');
	} else if (this.imageArray.length > 1 && !this.isLyteframe) {
		object.style.display = '';
//И тут
var a = document.getElementsByTagName("h1"), b = a.length, h1;
while(b--) if( ~a[b].className.indexOf("pos-title") ){ h1 = a[b]; break;}
		object.innerHTML = "<b>" + h1 + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.imageArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none');
	} else if (this.frameArray.length > 1 && this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = '';
	} else {
		this.doc.getElementById('lbNavDisplay').style.display = 'none';
	}
	this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100));
};

И всё равно получаю: [object HTMLHeadingElement]: изображение 2 из 7
Ответить с цитированием
  #6 (permalink)  
Старый 09.08.2011, 13:06
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

LyteBox.prototype.updateDetails = function() {
	var object = this.doc.getElementById('lbCaption');
	var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1]));
	object.style.display = '';
	object.innerHTML = (sTitle == null ? '' : sTitle);
	this.updateNav();
	this.doc.getElementById('lbDetailsContainer').style.display = '';
	object = this.doc.getElementById('lbNumberDisplay');
	if (this.isSlideshow && this.slideArray.length > 1) {
		object.style.display = '';
//Вставил
var a = document.getElementsByTagName("h1"), b = a.length, h1;
while(b--) if( ~a[b].className.indexOf("pos-title") ){ h1 = a[b]; break;}
		object.innerHTML = "<b>" + h1.innerHTML + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.slideArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none');
	} else if (this.imageArray.length > 1 && !this.isLyteframe) {
		object.style.display = '';
//И тут
var a = document.getElementsByTagName("h1"), b = a.length, h1;
while(b--) if( ~a[b].className.indexOf("pos-title") ){ h1 = a[b]; break;}
		object.innerHTML = "<b>" + h1.innerHTML + ":</b> изображение " + eval(this.activeSlide + 1) + " из " + this.imageArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none');
	} else if (this.frameArray.length > 1 && this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = '';
	} else {
		this.doc.getElementById('lbNavDisplay').style.display = 'none';
	}
	this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100));
};
Ответить с цитированием
  #7 (permalink)  
Старый 09.08.2011, 13:15
Аватар для SnikerS
Интересующийся
Отправить личное сообщение для SnikerS Посмотреть профиль Найти все сообщения от SnikerS
 
Регистрация: 16.12.2010
Сообщений: 19

Вот же h1.innerHTML! Спасибо большое, помогло.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java скрипт прокрутки картинок GEN_18 Javascript под браузер 10 28.10.2015 11:54
поочередное открытие картинок Dr.Livsi jQuery 10 31.07.2011 19:11
Слайдер не отрабатывает несколько картинок SinX Элементы интерфейса 1 15.05.2011 22:28
Java ScrollTo. Скрол картинок на java. Надо подправить. vdm Ваши сайты и скрипты 1 28.10.2009 20:46
Как сделать прокрутку картинок Lugan Элементы интерфейса 1 26.06.2009 12:52