Я пишу плагин jquery, который будет всплывать в окне.Below - это код окна html.
Код html не является сложным, но имеет много тегов.
Теперь у меня есть два варианта:
1.Put этот HTML - код на каждой странице, и скрыть DIV. если есть событие click, всплывающее окно. Это легко для jquery.
$('.pop_width450').show()
Но если я это сделаю, мне больше не нужно писать плагин, что еще, если я всплываю в таком окне, я должен поместить код окна html на каждую страницу, которая должна всплывать в окне.
2. Второй способ - добавить этот код в документ. Может быть, вот так:
$('<div class="pop_width450">').appendTo(document.body);
Это легко, и мой вопрос: если я использую этот путь. Мне нужно добавить много html-кода, может быть, вот так:
var pop = '<div class="pop_width450">'
+ '<div class="pop_width500_title">Send a Invitation'
+ '<span><a href><img src="imgs/icon/icon_delete_12px.png" border-bottom="0" /></a></span>'
+ ...............
+ ...............
Затем:
$(pop).append(document.body);
Вы видите, что HTML - код поп будет очень долго. Интересно, есть ли какой-то изящный способ решить эту проблему.
Ниже приведен код popt html.
Любые идеи приветствуются. Благодарю.
<div class="pop_width450">
<div class="pop_width500_title">Send a Invitation
<span>
<a href="#">
<img src="imgs/icon/icon_delete_12px.png" border-bottom="0" />
</a>
</span>
</div>
<div class="pop_width500_content">
<ul>
<li class="li480">
<div class="div100">Name</div>
<div class="div380">
<input name="" class="input300" type="text" />
</div>
</li>
<li class="li480">
<div class="div100">Subject</div>
<div class="div380">
<input name="" class="input300" type="text" />
</div>
</li>
<li class="li480">
<div class="div380b">
<textarea name="" class="textarea300" cols="" rows=""></textarea></div>
</li>
<li class="li480"> </li>
<li class="li480">
<div class="div380b">
<input type="button" class="btn_gray_22" value="Send" />
</div>
</li>
<li class="li480"> </li>
</ul>
</div>
</div>
поскольку вы используете jQuery, вы можете по крайней мере очистить свой html, вам не нужно записывать его в виде большой строки, вы также можете создавать элементы следующим способом:
var container = $( '<div/>', {
'class': 'pop_width450'
});
var titleContainer = $( '<div/>', {
'class': 'pop_width500_title',
text: 'Send An Invitation'
}).appendTo( container );
Это, по крайней мере, позволит вашему коду больше JS, чем HTML-строку, и вы можете автоматизировать задачу, построив функцию, которая берет объект данных и будет выстраивать для вас любое количество HTML, тогда вы можете повторно использовать код для перемещения других проектов вперед
Вы считали, что используете что-то вроде colorbox, а ваше всплывающее окно - это страница по своему усмотрению, которую вы используете в colorbox напрямую.
http://www.jacklmoore.com/colorbox/
Тогда вам просто нужен обычный JS-код, который вы могли бы включить в файл.js для каждой страницы, чтобы зацепить ваш клик и показать colorbox.
Напишите свой всплывающий код в общем файле, используя второй способ:
function ShowPopUp()
{
var pop = '<div class="pop_width450">'
+ '<div class="pop_width500_title">Send a Invitation'
+ '<span><a href><img src="imgs/icon/icon_delete_12px.png" border-bottom="0" /></a></span>'
+ ...............
+ ...............
$(this).html(pop);
// OR
$(this).append(pop); // Test it yourself, which one is preferable for pop up....
}
Затем на какой странице и в элементе управления вы хотите показать свое всплывающее окно: (1) сначала импортируйте свой JS файл и (2) привяжите этот метод к событию с щелчком элемента управления:
<input type="button" onclick="ShowPopUp()"/>