Js для обновления одного из div по кнопке

Рейтинг: 1Ответов: 2Опубликовано: 26.01.2015

Мне пришлось поменять все iframe на div, и теперь там табы с div, которые с помощью скрипта тянут с сервера картинки. Мне нужны кнопки, при нажатии на которые определенный див, чья кнопка была нажата, обновит свое содержимое, т.е. получит новую картинку.

Помогите, пожалуйста. Там должен быть какой-то скрипт, опять же, но я нахожу лишь странные, которые предлагают не то или обновляют все.

Ответы

▲ 2Принят

Доброго времени суток.

Есть вариант решить эту задачу через jQuery. Для начала создадим php файлик с содержанием нашего дива, назовем его например info.php

info.php:

<?php
$img = "<img src='img.png' alt='' />"; 
echo $img;
?>

Далее создаем еще файлик который будет видеть наш юзер, тут же подключаем библиотеку jQuery

page.html:

 <script text='text/javascript'>
    $(document).ready(function(){

      $('#refresh').click(function(){
        $.post('info.php', {refresh:'refresh'}, function success(data){
          $('#info').html(data);
        });
        return false;
      });

    });
  </script>
  <body>
    <div id='info'><?php include 'info.php';?></div>
    <a href='' id='refresh'>Обновить DIV</a>
  </body>

Теперь можете изменять значение $img нажимать на кнопИчку и будет обновляться.

▲ 1

Дайте дивам атрибут data-place, а кнопкам атрибут data-target. Будет выглядеть примерно так:

<div data-place="my-place">Content</div>
<a data-target="my-place" href="#">Action</a>

Ну и заскриптуйте след. образом:

   var actions = {
      'my-place':function($place){
           alert('any action for my-place');
      },
      'second-place':function($place){
           alert('any action for second-place');
      }
   }

   var $buttons = $('[data-target]');
   $buttons.click(function(e){
       e.preventDefault();
       var $this = $(this);
       var thisTarget = $this.attr('data-target');
       var $thisPlace = $('[data-place="'+thisTarget+'"]');
       if ($thisPlace.length && actions[thisTarget]) {
            actions[thisTarget]($thisPlace);
       }
   });

Примерчик: http://jsfiddle.net/4nnk38c0/