2013-12-04 3 views
1

Следующая Wordpress цикл создает несколько TextBlocks на странице:Получить Wordpress сообщение ID в JQuery файл

<?php while ($query->have_posts()) : $query->the_post();?> 
    <div class="col-md-<?php echo $column_width_input = get_post_meta(get_the_ID(), 'column_element_grid_class_meta_box', true); ?>"> 
     <div id="post-<?php the_ID(); ?>" class="textblock dicon" data-animation="<?php echo $animation_type_input = get_post_meta(get_the_ID(), 'animation_element_grid_class_meta_box', true); ?>" data-delay="1"> 
      <div class="dicon discipline-icon"><i class="fa fa-comment-o fa-2x"></i></div>   
       <h4 class="text-center"><?php echo the_title(); ?></h4> 
       <p class="text-center"><?php echo the_content(); ?></p> 
      </div> 
      <!-- END #post --> 
    </div> 
<?php endwhile; ?> 

Я пытаюсь написать скрипт, который будет анимировать конкретный текст блок .textblock с определенной анимацией (каждый textblock имеет другую анимацию). Я понял, что буду использовать идентификатор сообщения для таргетинга на текстовый блок (id = "post-"), но я не уверен, как использовать the_ID(); в файле JS. Я видел атрибут rel, используемый для этого, но в настоящее время он не работает для меня. Вот то, что я до сих пор, который применяется только в ту же анимацию всех текстовых полей:

var topOfOthDiv = $(".textblock").offset().top; 
    $(window).scroll(function() { 
     if($(window).scrollTop() > topOfOthDiv - 400) { //scrolled past the other div? 
      $(".textblock").addClass('animated ' + $(".textblock").data('animation')); 
     } 
    }); 
+0

Вы хотите анимировать каждый div только один раз, когда прокручиваете страницу вниз? –

+0

hows вы хотите обнаружить post_id при загрузке страницы или на каком-то событии? –

+0

@ Kaleem Sajid - Да, я хочу вызвать анимацию каждого div, когда я прокручиваю страницу вниз. Нужен ли мне какой-то уникальный идентификатор для каждого div в JQuery? Думаю ли я по правильной линии? – user3064595

ответ

1

Вы могли бы иметь скрытый вход, и получить его через JS, как это:

HTML:

<input type="hidden" id="post_id" value="<?php the_ID() ?>"> 

Javascript:

post_id = $("#post_id").val(); 
+0

Я попробую, но разве нет более чистого способа достичь этого? Я бы предпочел избежать укладки скрытых полей ввода в HTML. Благодарю. – user3064595

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