javascript - 为什么调用函数更新后背景没有更新

标签 javascript jquery ajax

我目前正在尝试根据存储的 ajax 响应的某些值修改正文的背景。但是当调用函数 getBackground(); 时它没有更新背景,我不明白为什么?我将不胜感激任何帮助,

  $(document).ready(function(){
  // Ajax call

  var responseWeather = $.parseJSON($.ajax({
    url:  urlLatLong,
    dataType: "json", 
    async: false
}).responseText);


  function getBackground(){
  var  n = new Date();
  var    hour = n.getHours();


  if (hour > 6 && hour < 18) {
      //response from Ajax
  if (responseWeather.weather[0].main === 'Rain') {     
   $('body').css('background-image', "https://4.bp.blogspot.com/-FRc-pTtmDaE/VESPnFw7e2I/AAAAAAABSIw/g_YMwPEPvRQ/s0/Rain%2BDrops%2BWindow%2BUHD.jpg");
 }else if (responseWeather.weather[0].main === 'Clouds') {
   $('body').css('background-image', "http://wallpapersonthe.net/wallpapers/b/3840x2400/3840x2400-sky_nature_cloudy_day_in_the_alpine_jungle_cloud_mountain_jungle-30477.jpg");
 }else if (responseWeather.weather[0].main === 'Clear') {
    $('body').css('background-image', "https://wallpaperscraft.com/image/sun_light_beams_meadow_glade_summer_day_53997_3840x2400.jpg");
 }
  }else{

    if (responseWeather.weather[0].main === 'Rain') {
   $('body').css('background-image', 'https://images3.alphacoders.com/279/279307.jpg');
 }else if (responseWeather.weather[0].main === 'Clouds') {
   $('body').css('background-image', 'http://www.walldevil.com/wallpapers/a68/night-background-cloudy-wallpaper-animated-skies-sky-wallpapers-art.jpg');
 }else if (responseWeather.weather[0].main === 'Clear') {
    $('body').css('background-image', 'https://s-media-cache-ak0.pinimg.com/originals/c6/28/0e/c6280e8f909cdaa96f599f4b611e876c.jpg');
     }
    }
 }
 getBackground();


});

最佳答案

不要忘记将图像 url 包装到 url() 中。

$('body').css('background-image', "url(https://...)");

关于javascript - 为什么调用函数更新后背景没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41434170/

相关文章:

javascript - 单击已添加到页面的元素?

javascript - enzyme 调用法

javascript - 从TR中获取TD值

php - AJAX响应时间

javascript - 如何使最大宽度和高度与 Jquery ImgViewer 插件一起使用

jquery - 为什么这些 jQuery 对象不起作用?

javascript - 隐藏的 jQuery 可拖动包含溢出

javascript - jQuery:输入元素的类型不支持选择

html - jquery 表单提交操作不适用于 document.ready

html - 页面加载ajax内容后不出现滚动条