Перейти к содержимому

Сервис обмена электронных валют


Как добавить к блоку функцию?

#1 hoax

hoax
  • Пользователь
  • 24 сообщений
  • Репутация: 1
0

Отправлено 30 Сентябрь 2012 - 20:22

Вот есть блок <div id="block"></div> как мне добавить к нему функцию с параметрами в html

В ссылке это делается так
<a href="javascript:func('1');" >Показать</a>

а как в блоке?

 

 

  • 0

#2 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Сентябрь 2012 - 20:40

<div id="block" onclick="func('1');"></div>
Это выполнение скрипта по клику.
  • 0

#3 hoax

hoax
    Topic Starter
  • Пользователь
  • 24 сообщений
  • Репутация: 1

Отправлено 30 Сентябрь 2012 - 20:41

не, не при клике, чтобы просто была функция
  • 0

#4 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Сентябрь 2012 - 20:50

Что значит "чтобы просто была"?
Она ведь должна в каком-то случае выполняться?
А если нет, то зачем она там будет жить? :D
Может вам надо, чтобы по наведению мыши она выполнялась? Тогда так:
<div id="block" onmouseover="func('1');"></div>

  • 0

#5 hoax

hoax
    Topic Starter
  • Пользователь
  • 24 сообщений
  • Репутация: 1

Отправлено 30 Сентябрь 2012 - 20:54

Нет, ну мне надо допустим, вот новость заключенная в блок <div id="block">news</div> и нужен скрипт, который бы определял дату новости (и перемещал ее), которую я буду задавать в параметрах function date(25) этого новостного блока
  • 0

#6 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Сентябрь 2012 - 21:12

Есть подозрение, что вам нужен не яваскрипт, а php, потому что обычно новости сортируются на стороне сервера и посетителю отдаются уже в отсортированном виде.
Ну или возможно вы неполно формулируете задачу и потому непонятно, как вам помочь (например, из ваших объяснений неясно откуда скрипт возьмет дату новости и куда и зачем новость потом надо переместить).

Попробуем предположить, что у вас есть некий массив новостей, который следует вывести на экран в определенном порядке именно с помощью JS.
В таком случае вам следует просто вставить в нужное место вашей страницы вызов скрипта, который выведет этот массив, уже разложенный по блокам.
хтмл код страницы
<script type="text/javascript">
...
</script>
другой хтмл код страницы

  • 0

#7 hoax

hoax
    Topic Starter
  • Пользователь
  • 24 сообщений
  • Репутация: 1

Отправлено 30 Сентябрь 2012 - 21:29

<div id="news1">news<span>1</span></div>
<div id="news1">news<span>2</span></div>
<div id="news1">news<span>3</span></div>
<div id="news1">news<span>4</span></div>

Где span - это число т.е. дата месяца.

есть раздел *анонсы* и раздел *завтра*
в анонсах публикуется то что написал выше, а в "завтра", все те же новости (они же блоки), только на следующий день, раз сегодня 25 число допустим, то там публкуются новости 26 числа.

В данном примере придется брать innerHTML из span, т.е. само число (допустим 1, как написано) и автоматом добавлять в "завтра* если это требуется.

Т.е. будет сравнивать

var date= new Date;
var d = date.getDate();

if(d<span.innerHTML) то вывести данную новость в блок "завтра"

  • 0

#8 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Сентябрь 2012 - 21:33

Как я и сказал, подобную сортировку лучше выполнять на стороне сервера на php.
Но если сильно хочется, то можно и на клиентской стороне это делать, и для этого не нужно брать что-то из span, а изначально положить все в JS массив (дата-новость) и уже из него все распределить по разделам *анонсы* и *завтра* циклом с проверкой по дате типа такого
var annonce = '';
for (i=1; i<25; i++) { annonce += '<div id="news'+i+'">news<span>'+i+'</span></div>n';}
getElementById('annonce').innerHTML = annonce;

Только следует понимать, что у некоторых JS может быть отключен и они ваши новости не увидят вообще.
  • 0

#9 hoax

hoax
    Topic Starter
  • Пользователь
  • 24 сообщений
  • Репутация: 1

Отправлено 30 Сентябрь 2012 - 21:43

Хммм... ну здесь фактически тоже самое, только я не хочу задавать целиком все из js, т.е. тут изначально анонсы пусты.

Т.е. у меня в анонсам могут быть разные числа хоть 30.09, или 05.12 в анонсах они будут все, а в завтра будут только те, кто только будут отмечатся на след. день, будут сравниваться с текущей датой, и если новость "прочрочена" удаляться.

А php я не знаю)

Ну все равно спасибо что-нибудь придумаем
  • 0

#10 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Сентябрь 2012 - 21:55

Хммм... ну здесь фактически тоже самое, только я не хочу задавать целиком все из js, т.е. тут изначально анонсы пусты.

И откуда они тогда возьмутся, если изначально их нет?

Короче.
Я не сторонник выбора сложных решений, когда можно сделать проще.
В данном случае, самый правильный, надежный и простой вариант — это сортировка и вывод средствами php.
Второй по простоте и надежности вариант (с упомянутыми выше оговорками) — это сложить исходные данные в JS массив и сортировать и выводить его средствами же JS.
Ваш вариант — это, видимо, попытаться отпарсить конечный HTML и по результатам парсинга выполнять сортировку — это, на мой взгляд, перебор с извратом. Но если очень хочется — пытайтесь. :D
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru