Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Открыть новую тему     Написать ответ в эту тему

Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Фильтр по слову "jquery" не дал какой-либо общей темы по этой библиотеке, поэтому решился создать. У меня возник такой вопрос: согласно справочной документации такой код:
 

Код:
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
 
  <script language="javascript">
      $("p")[0].html("test");
  </script>

 
должен <p>1</p> заменить на <p>test</p>. Но не работает. Пробовал еще так:
 

Код:
$("p").get(0).html("test");

 
Есть подозрения, что мануал, по которому осваиваю библиотеку, написан для более старой версии, а позже принцип обращения к конкретному элементу из коллекции как-то изменился. Кто знает, как реализовать это (версия библиотеки - v1.3.2)



Документация по jQuery - eng, рус

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:22 11-08-2009 | Исправлено: Cheery, 07:35 09-08-2013
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor
http://jsfiddle.net/Cs8wG/1/

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 08:23 07-08-2013 | Исправлено: Bu, 08:27 07-08-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если я правильно понял то в переменную "k" сохранились value отсортированные.
А можно ли как нибудь сделать чтобы в переменную "k" попало не value а объект к которому оно относится?
 
Чтото наподобие

Код:
var k = $('input');
//сортируем объект
.......
 
//работаем с объектом
k.each(function(){
.....
});
 

 
Добавлено:
спасибо за пример, на нём поэкспериментировал, разобрался
вот так получилось

Код:
var k = $("input").map(function(){ return $(this); }).sort(function (a, b) {
      return (a.val() < b.val()) ? -1 : (a.val() > b.val()) ? 1 : 0;
});
k.each(function(){
      alert(this.val())
});

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 08:46 07-08-2013 | Исправлено: mishakor, 08:48 07-08-2013
panda3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jokerjar79

Код:
    $($("p")[0]).html("test");
    $("p:first").html("test");
    $("p").eq(0).html("test");
 

Всего записей: 206 | Зарегистр. 06-02-2007 | Отправлено: 09:43 08-08-2013 | Исправлено: panda3, 09:45 08-08-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
panda3
на дату поста обращайте внимание..
не думаю, что вопрос актуален после 4 лет

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:46 08-08-2013
panda3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Всегда смотрю, когда тему читать начинаю! Читал с предыдущей страницы - там был август 2013 года, а на этой - хоп, и 2009. Нафига этот вопрос прикреплен в качестве шапки????

Всего записей: 206 | Зарегистр. 06-02-2007 | Отправлено: 16:06 08-08-2013
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Нафига этот вопрос прикреплен в качестве шапки????

наверно, чтобы кто-нибудь туда мог что-нибудь полезное запихать. Но походу это никому не нужно

Всего записей: 6672 | Зарегистр. 14-02-2005 | Отправлено: 16:44 08-08-2013 | Исправлено: unreal666, 16:44 08-08-2013
kulativv



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Внимание всем, вопрос!
 
Есть такой код выпадающего блока на jquery. Суть: при клике на ссылку появляется блок, ссылке присваивается класс .active. При повторном клике на ссылку или на body блок закрывается.
 

Код:
 
$(document).ready(function () {
 $('a#showmenu').click(function (e) {
 $(this).toggleClass('active');
 $('#dropmenu').toggle();
                 
 e.stopPropagation();
});
     
 $('#dropmenu').click(function (e) {
 e.stopPropagation();
});
 
 $('body').click(function () {
var link = $('a#showmenu');
if (link.hasClass('active')) {
 link.click();
}
});
});
 

 
Планируется использовать скрипт в разных местах сайта, причем на одной странице может быть до сотни мест применения. Понятно, что id может быть только один. Пробовал менять на класс, но тогда при клике разом открываются все меню сразу. Подскажите, как переделать скрипт, чтобы можно было реализовать неограниченное количество выпадающих блоков на странице.

Всего записей: 76 | Зарегистр. 19-02-2006 | Отправлено: 13:40 12-08-2013
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kulativv
нужен html

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 13:42 12-08-2013
kulativv



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну хтмл проивзольный, смотри
 

Код:
<a href="#" id="showmenu">Open Menu</a>
 
<div id="dropmenu">
 Bla bla menu is here
</div>

 

Всего записей: 76 | Зарегистр. 19-02-2006 | Отправлено: 13:54 12-08-2013
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kulativv
http://jsfiddle.net/gDef3/

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 16:37 12-08-2013
Aladdinych



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто сталкивался с DatePicker подскажите плз
Если указываешь showOn: 'button' и указываешь buttonImage То кнопка получается огромная, даже если сама картинка маленькая и даже в том случае если buttonImageOnly true. Как уменьшить размеры кнопки?

Всего записей: 323 | Зарегистр. 18-10-2005 | Отправлено: 13:42 14-08-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aladdinych
ссылку покажите

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:00 14-08-2013
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день
подскажите как выделить всю строку таблицы, если чекбокс выбран, если снять чекбокс, то выделение строки должно пропасть?

Код:
 
<tr>
   <td>
      <input type="checkbox" value="66647546" id="0">
   </td>
   <td>
      <label for="0">66647546</label>
   </td>
</tr>
 

 


----------
Абонентское обслуживание и ремонт компьютеров в Днепропетровске

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 11:08 19-08-2013 | Исправлено: DarkSmoke, 11:09 19-08-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Код:
$("input[type='checkbox']").click(function(){
   $(this).parent().parent().css("background-color",(this.checked ? "red" : ""));
});

 
Добавлено:
Написал вот такой скрипт
 
js

Код:
$(function(){
    var this_scroll;
    $("#obyav").keyup(function(){
        var t = $(this).clone().css({width:$(this).width(),height:$(this).height(),position:'absolute',left:'-1000px'}).val(this.value).prop('id','').appendTo("body")[0];
        t.style.height = 0;
        t.scrollTop = 1e5;
        lines = t.scrollTop / 15;
        string = (t.value.split("\n")).length;
        kod_kolvo = $("#kod > input").length;
        if(string > kod_kolvo){
            $("<input type='text'>").css({width:'100%', height:'12px', 'line-height':'12px', 'font-size':'10px', border:'1px solid black', borderTopkod_kolvo > 0 ? 'none' : '1px solid black')}).val(string).appendTo("#kod");
            $("#kod")[0].scrollTop = $("#obyav")[0].scrollTop;
        }
        if(string < kod_kolvo){
            $("#kod > input").each(function(i){
                if(i+1 > string) $(this).remove();
            });
        }
        $("#test").html(lines+" / "+string+"<br />"+string+" > "+kod_kolvo);
        $(t).remove();
    }).click(function(){
 
    }).scroll(function(){
        if(this_scroll == "obyav") $("#kod")[0].scrollTop = $(this)[0].scrollTop;
    }).mouseover(function(){this_scroll = "obyav";});
    $("#kod").scroll(function(){
        if(this_scroll == "kod") $("#obyav")[0].scrollTop = $(this)[0].scrollTop;
    }).mouseover(function(){this_scroll = "kod";});
});

html

Код:
<div style='width:500px;'>
    <div id='kod' style='float:left; width:50px; height:101px; margin:2px 0; padding-right:3px; overflow-y:scroll; overflow-x:hidden;'></div>
    <div style='margin-left:55px; padding-right:5px;'>
        <textarea id='obyav' style='width:100%; height:100px; font-family:Arial; font-size:12px; line-height:15px;'></textarea>
    </div>
</div>
<div id='test'></div>

 
Суть скрипта в следующем, когда вводим в текстовое поле текст, на каждую новый строку (\n) создаётся input в соседнем div.
Когда строчка удаляется удаляется input (с конца)
 
Вот тут то и возникает бяда. Допустим добавил 3 строки в текстовое поле. При стирании второй строки удаляется третий input.
 
Как сделать чтобы при удалении второй строки удалялся второй inpu. Понимаю что код в 1 строчку не уложить, подскажите хотя бы в какую сторону копать, ну а если и с кодом поможете так ваще замечательно.

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 13:03 19-08-2013 | Исправлено: mishakor, 13:33 19-08-2013
koreets2011



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke
С использованием Jquery так:

Код:
 
<script>
function countChecked(idchek) {
 if (idchek == '0'){
  //Тут код для окрашивания label c ID="0"
  }
};
$( "input[type=checkbox]" ).on( "click", "#0", countChecked('0') );
</script>
 

 
Единственное присвойте label какой нибудь ID, если что не понятно спрашивайте, код написал на быструю руку.
Извиняюсь, лучше так.
 

Код:
 
<script>
function countChecked(idchek, paintid) {
var checked = '#'+ idchek + ':visible';
var paintel = '#' + paintid;
 if ($(checked).length > 0){
  //А вот тут уже пишите код для окрашивания чего угодно
  //Например
  $(paintid).addClass('имя класса css'); //Будет окрашен элемент с ID переданным функции при выборе checkbox  
 }
};
$( "input[type=checkbox]" ).on( "click", "#0", countChecked('0', 'ID элемента'));
</script>
 

Всего записей: 411 | Зарегистр. 13-10-2011 | Отправлено: 14:53 19-08-2013 | Исправлено: koreets2011, 15:10 19-08-2013
koreets2011



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как загрузить pdf в iframe при помощи плагина fancybox.

Код:
 
$(".iframe").fancybox({
width     : '99%',
height : '99%',
autoSize : false,
});
 

Казалось бы ничего сложного, но pdf грузится только на втором клике, на первом висит анимация до бесконечности. Пробовал так:

Код:
 
$(".fancypdf").click(function(){
$.fancybox.resize;
$.fancybox.showActivity;
$.fancybox({
type: 'iframe',
autoSize: false,
width: 1000,
content: '<embed src="'+this.href+'#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />',
beforeClose: function() {$(".fancybox-inner").unwrap();},
iframe : {preload: false},
});
return false;
});
 

Грузит с первого раза, но pdf 12мб, при скорости в 1МБит/с, видно пустое модальное окно, кажется что все зависло... Событие afterLoad срабатывает мгновенно. Как поступить?

Всего записей: 411 | Зарегистр. 13-10-2011 | Отправлено: 10:38 21-08-2013
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koreets2011
http://jsfiddle.net/h3pdV/8/

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 18:46 21-08-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koreets2011

Цитата:
Подскажите как загрузить pdf в iframe при помощи плагина fancybox.  

не проще делать картинкой (или текстом)? не у всех есть pdf читалка или стоит Chrome. про мобильные устройства вообще молчу.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:46 21-08-2013 | Исправлено: Cheery, 19:47 21-08-2013
mishakor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите можно ли отловить событие изменения атрибута.
Допустим есть список

Код:
<ul data-year=''>
  <li>2013</li>
  <li>2014</li>
  <li>2015</li>
</ul>

нужно чтобы при изменении data-year сработала заранее определённая функция
data-year меняется следующим способом

Код:
$('ul').data('year','2014');

Всего записей: 65 | Зарегистр. 29-09-2008 | Отправлено: 13:34 26-08-2013
Bu

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mishakor

Код:
 
$("#btn").click(function (){
    $("input").attr("data-year", $("input").attr("data-year") + ".");
});
 
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
 
var observer = new MutationObserver(function(mutations, observer) {
    $.each(mutations, function(key, val){
        if (val.attributeName == "data-year") {
            $("ol").append($("<li>").text($(val.target).attr("data-year")));  
        }
    });  
});
 
observer.observe(document, {  
    subtree: true,  
    attributes: true
});
 

http://jsfiddle.net/1337/Lcybj/17/
 
Но внутри var observer = new MutationObserver(function(mutations, observer) { нельзя менять атрибуты иначе функция зациклится http://jsfiddle.net/1337/Lcybj/20/

Всего записей: 79 | Зарегистр. 08-10-2001 | Отправлено: 22:22 26-08-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Компьютерный форум Ru.Board » Интернет » Web-программирование » Вопросы по jQuery


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru