Я пытаюсь использовать JQuery для создания динамического заголовка страницы с использованием изображения, которое существует в статье. Я планирую предоставить образ классу (.thumbnail). Я хочу удалить изображение из статьи после его использования для заголовка. Вот логика:Поиск и повторение изображения с помощью JQuery
- Найти IMG тег с .thumbnail класса
- Переместить это изображение на новый DIV (#dynHeader), класс это .Image1
- Масштабирование изображения до х пикселей в высоту, поддерживать аспект для ширины
- Найти ширину вновь масштабируемого изображения (вар remainWidth)
- Вычислить остальные ширина #dynHeader
- дубликат IMG справа от .Image1, назовем его .Image2
- Установите его ширину на значение remainWidth
- кадрирование на высоту .Image1
- расположите на оси Y с определенным значением
Мне нужно знать, как найти и дублировать IMG.thumbnail. Я уверен, что больше проблем будет возникать, когда я продолжу работать через это, но я полностью застрял. Я думаю об этом неправильно? Есть ли способ разместить одно и то же изображение на странице дважды?
Спасибо за любую помощь.
для -Alex-
Edit: Я отправляю решение, как я использую его на моем сайте для всех, кто может столкнуться с этой проблемой. Выбрал код из ответа и настроил его правильно.
//need to clone before removing class so that the original is deletable later.
var cache = $('img.thumbnail').clone().removeClass('thumbnail').addClass('Image1').css('float','left');
//remove the original from the text
$('img.thumbnail').remove();
//attach the cloned image to the header
$('#dynHeader').append(cache);
//find the ratio
var ratio = (cache.width()/cache.height());
//set variable to hold image height
var imageHeight = (365);
//set variable to hold image width
var imageWidth = (imageHeight*ratio);
//set the image height & width
cache.height(imageHeight).width(imageWidth);
//figure the amount of width remaining in the header
var remainWidth = $('#dynHeader').width() - imageWidth;
//clone the header image
var dupe = cache.clone();
//work with the cloned image - change the class to Image2, set the width and height dupe.removeClass('Image1').addClass('Image2').css("width",remainWidth+"px").css("height","auto");
//place Image2 to the right of Image1
cache.after(dupe);
Тогда я использовал некоторые CSS позиционировать IMAGE2 и скрыть переполнения (трансфокатора & кадрирования эффект, я стрелял в).
#dynHeader{
height: 365px;
overflow: hidden;
margin-bottom: 30px;
}
img.Image2{
position: relative;
top: -150px;
}
Надеюсь, это поможет кому-то еще! Спасибо Алекс за то, что он правильно указал.
Alex, большое спасибо. Это отличное начало. Функция .clone() - это именно то, что мне нужно. Есть несколько второстепенных вопросов, как вы заявили, что может быть, но это то, что мне нужно. Переустановить код сейчас, и я опубликую его при работе (или когда я столкнусь с другой проблемой!) – veet
Без проблем, рад помочь! :) –