Как узнать, имеет ли атрибут href?Html

Программисты Html
Ответить
Anonymous
 Как узнать, имеет ли атрибут href?

Сообщение Anonymous »

Итак, у меня есть простое слайд-шоу, использующее JavaScript для постепенного появления и исчезновения изображений, где все элементы img, кроме одного, не имеют атрибута href. Я хотел бы поместить атрибут href изображения в атрибут href заголовка (на самом деле атрибут img alt), чтобы текст можно было щелкнуть, когда отображается конкретный слайд, и стать недоступным для клика, когда слайд переходит к следующему. У меня очень мало опыта в JS, и я не могу найти в Интернете ресурсы, которые помогли бы мне решить эту конкретную проблему. Вот используемая часть моего HTML-файла (называемого Finley.html) и моего файла слайдшоу.js.

Код: Выделить всё


Car ride home! First time meeting each other.
[img]images/Finley/car_ride_home.jpg[/img]

[img]images/Finley/car_ride_home.jpg[/img]
[img]images/Finley/he_lay.jpg[/img]
[img]images/Finley/awwww.jpg[/img]
[img]images/Finley/photogenic_af.jpg[/img]
[img]images/Finley/first_vet.jpg[/img]
[img]images/Finley/blop.jpg[/img]
[img]images/Finley/squishy_cheek.jpg[/img]
[img]images/Finley/first_beach.jpg[/img]
[img]images/Finley/sploot.jpg[/img]
[img]images/Finley/floopy_ears.jpg[/img]
[img]images/Finley/daisy_gf.jpg[/img]


slideshow.js:

Код: Выделить всё

$(document).ready(function() {
//declare variables
var nextSlide = $("#slides img:first-child");
var nextCaption;
var nextSlideSource;
// the function for running the slide show
var runSlideShow = function() {
// write the function
$("#caption").fadeOut(1000);
$("#slide").fadeOut(1000,
function() { //callback function
if (nextSlide.next().length == 0) {
nextSlide = $("#slides img:first-child");
} else {
nextSlide = nextSlide.next();
}
nextSlideSource = nextSlide.attr("src");
nextCaption = nextSlide.attr("alt");

if (nextCaption == "Papa, we made it to the community Instagram!") {
$("#caption").attr("href", nextSlide.attr("href"); $("#caption").attr("target", nextSlide.attr("target");
}

$("#slide").attr("src", nextSlideSource).fadeIn(1000); $("#caption").text(nextCaption).fadeIn(1000);

}
); //callback
}; //ready

// start slide show
var timer1 = setInterval(runSlideShow, 5000);

// here's one way to code this app without using the toggle event method
$("#slide").click(function() {
if (timer1 != null) {
clearInterval(timer1);
timer1 = null;
} else {
timer1 = setInterval(runSlideShow, 1000);
}
});
})
Этот код отображает подпись в виде текста над изображением, и изображение остается на экране в течение 5 секунд, прежде чем перейти к следующему изображению. Чтобы уточнить, я хотел бы, чтобы текст подписи, который выглядит как гиперссылка на Google (фактический сайт подвергается цензуре) для одного изображения, когда оно отображается, а затем возвращается в нормальное состояние, когда появляется следующее изображение. Я попытался вставить строки 21–24, чтобы проверить заголовок и установить атрибут, но эти строки мешают работе слайд-шоу (удалите эти строки, чтобы посмотреть, как оно должно себя вести). Возможно, дело в операторе if в строке 21, но я не знаю, как действовать. Любая помощь или советы будут оценены по достоинству!


Подробнее здесь: https://stackoverflow.com/questions/592 ... -attribute
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»