Проверьте, существует ли URL в функции в D3.js

0

Я начинаю с D3.js Я застрял в проблеме за последние несколько дней. ниже приведен фрагмент кода

function zoomed() {
var tiles = tile
  .scale(zoom.scale())
  .translate(zoom.translate())
  ();

projection
  .scale(zoom.scale() / 2 / Math.PI)
  .translate(zoom.translate()); 

var image = layer
  .style(prefix + "transform", matrix3d(tiles.scale, tiles.translate))
.selectAll(".tile")
  .data(tiles, function(d) { return d; });


image.exit()
  .remove();

image.enter().append("img")
  .attr("class", "tile")
  .attr("src", function(d) {  return "http://111.118.179.198/Data/63699_1600x1200-wallpaper-cb1362414617.jpg_" + 8 + "_" + d[0] + "_" + d[1] + ".png"; })
  .style("left", function(d) {return (d[0] << 8) + "px"; })
  .style("top", function(d) { return (d[1] << 8) + "px"; });
}

мое требование до того, как я установил атрибут src для img. Мне нужно проверить, является ли url существующим, если это действительный существующий url, тогда правильное значение будет установлено на src, иначе src будет пустым.

Теги:
d3.js

1 ответ

0

Это упростит работу с jQuery:

var url = "some_url";
  $.ajax(url,
  {
     statusCode: {
       200: function() {
         image.attr("src," url);
       },
       404: function() {
         image.attr("src", otherURL);
       }
     }
  }
  • 0
    Привет, Ларс, спасибо за ваш ответ, но мне все еще не ясно об этом. Я добавил еще немного кода, предыдущий код был частью функции "масштабирования". Я не могу включить решение, которое вы прописали. Как мне поступить?
  • 0
    Эта проверка требует вызова AJAX, поэтому она будет асинхронной. То есть сначала добавьте элемент, а затем установите атрибут src когда обратный вызов вернется.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню