2013-06-08 2 views
0

Правильный рабочий код можно увидеть в ответах. Конечный результат: http://www.creativewebgroup.co.uk/library/colorshareV2/palette/AndroidПоказать шестнадцатиричный код на странице load

Я пытаюсь создать сценарий цветовой палитры.

У меня есть этот скрипт JQuery:

<script> 
//document ready 
$(document).ready(function() { 
$('.palette-detail li').each(function() { 
    $(this).html('<input type="text" style="background: #' + $(this).attr('swatch') + '" />'); 
}); 
$('.palette-detail').click(function (e) { 
    var elem = e.target; 
    if ($(elem).is('input')) { 
     $(elem).val($(elem).parent().attr('swatch'));  
    } 
    }); 
}); 

Вот основная идея HTML используется (в сценарии, однако это PHP управляемый).

<ul class="palette"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 
<span><a href="palette/URL">Title</a></span> 
</ul> 

На данный момент сценарий требует от пользователя мыши на Lī блок для шестнадцатеричного кода для отображения. Я хочу, чтобы он сразу показывал .

Возможно ли это? Если да, то как?

Спасибо, ребята!

+1

Сразу же - на странице загрузки (что должно быть показано в этом случае?) Или при наведении курсора? – sinisake

+0

обратите внимание на ошибку здесь http://www.creativewebgroup.co.uk/library/colorshareV2/palette/gggggg – raam86

+0

Да, мне нужно удалить #, добавляемый сценарий - Хорошее место :) – David

ответ

1

HTML

<ul class="palette"> 
<li swatch="#4362ff"> 
<li swatch="#ee3d5f"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 
<li swatch="#FFFFFF"> 

</ul><span><a href="palette/URL">Title</a></span> 

JQuery

 //document ready 
$(document).ready(function() { 
    $('.palette li').each(function() { 
     $(this).html('<input value='+$(this).attr("swatch")+' type="text" style="background: ' + $(this).attr('swatch') + '" />'); 
    }); 
}); 

fiddle

Существовали много ошибок в коде. Вы не выбрали правильный класс для UL. Также UL элементы не могут содержать span элементов.

Также использование элемента проверки показало бы, что код выполняет то, что он ему сказал, и помещает ## перед цветом.

+0

Вы не хотите применять цвет фона при загрузке? – raam86

+0

Прочтите это http://api.jquery.com/ready/ Вы заметите, что «готово» - это событие – raam86

+0

Если Дэвид хочет показать текст -> http://jsfiddle.net/9QMQs/1/ – sinisake

Смежные вопросы