Добавить HTML в JQuery с различным содержанием - PullRequest
0 голосов
/ 24 июня 2018

У меня есть этот маленький скрипт для добавления различных частей кода к телу на сайте

WincontentBody=jQuery("<div class='wd_"+idw+"'id='win_container'>OK</div>"); 

WincontentBody=jQuery("</div>");


jQuery(WincontentBody).fadeIn(3000).appendTo('body');

Я пытаюсь добавить код из WincontentBody в тело, но он не работает, какая-то ошибка в синтаксисе, потому что я никогда не показываю div

Я думаю, что это нормально, но я не могу найти проблему, идея состоит в том, чтобы добавить все содержимое переменной WincontentBody в тело

Возможно ли это сделать? Потому что я не могу заставить его работать

Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Попробуйте это.

$(document).ready(function() {
  WincontentBody = "<div class='wd_asdfas'id='win_container'>OK This is fine.</div>";

  $('.displayHere').append(WincontentBody);
  $('.displayHere').fadeIn(3000);
});
body { background: #eee } 
.displayHere { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<body>
  <div class="displayHere">
  Hello Buddy
  </div>
</body>

Обновлено

Я внес несколько изменений.

  1. Я добавляю div с именем displayHere.Я не думаю, что это хорошая идея, чтобы дать эффект исчезновения для тела веб-страницы.

  2. В jquery я разделил функции на две разные функции.Сначала он обновит детали, а затем исчезнет.

0 голосов
/ 24 июня 2018

Я пошел дальше и правильно написал для вас ваш вопрос.Взгляните на SO на испанском.

fadeIn и appendTo - это jQuery методы.WincontentBody содержит строку.Сначала вы должны создать новый объект jQuery с вашим html.

$(WincontentBody).appendTo('body').fadeIn(3000); //first append, then fade in

Если fadeIn не работает, возможно, вам придется скрывать элементы (с некоторыми CSS)прежде чем вставлять их в страницу.В противном случае вы будете пытаться добавить что-то, что уже видно.

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


Теперь (после вашего редактирования) вы создаете два объекта jQuery.Один с div, а другой без ничего действительного.

WincontentBody=jQuery("<div class='wd_"+idw+"'id='win_container'>OK</div>");
//WincontentBody now has the div 

WincontentBody=jQuery("</div>");
//WincontentBody now has nothing. The </div> is not being appended to what was in WincontentBody before, you're assigning a new value to it

jQuery(WincontentBody).fadeIn(3000).appendTo('body');
//You're appending WincontentBody (which has nothing valid) to the body
//Also, WincontentBody is already a jQuery instance, no need to call jQuery() again

Что вам нужно сделать, это создать свой WincontentBody с HTML-кодом, как вы делали раньше, а затем использовать $(WincontentBody)... илиjQuery(WincontentBody)....Или поместите весь HTML-код в один элемент jQuery, например:

var WincontentBody=jQuery("----all the html code at once----");
WincontentBody.appendTo("body").fadeIn(3000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...