Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加载图像慢速laravel jQuery_Php_Jquery_Laravel_Laravel 5 - Fatal编程技术网

Php 加载图像慢速laravel jQuery

Php 加载图像慢速laravel jQuery,php,jquery,laravel,laravel-5,Php,Jquery,Laravel,Laravel 5,请检查下面我的js代码。它是为从文件夹中获取配置文件图像而编写的。我得到了个人资料图像,并且显示正确 我有一个默认图像,如果用户没有配置文件图像,将显示默认图像 我的问题是,当页面刷新时,如果用户有配置文件图像,则默认图像最初显示(毫秒),然后配置文件图像显示。我怎样才能解决这个问题。我认为这是jQuery的加载问题 test.js $(function () { $.get("/getDetails") .done(function (data) {

请检查下面我的js代码。它是为从文件夹中获取配置文件图像而编写的。我得到了个人资料图像,并且显示正确

我有一个默认图像,如果用户没有配置文件图像,将显示默认图像

我的问题是,当页面刷新时,如果用户有配置文件图像,则默认图像最初显示(毫秒),然后配置文件图像显示。我怎样才能解决这个问题。我认为这是jQuery的加载问题

test.js

$(function () {

    $.get("/getDetails")
        .done(function (data) {
            $("#profile_image").css('background-image', 'url(/profile.png)');
            if (data.filename == 'Profile') {
                $("#profile_image").css('background-image', 'url(' + data.route + ')');
                $("#deleteProfileImage").show();
            }
    });

});
html页面:

<div id="profile_image" style="background: url(/profile.png) no-repeat center center;">
试试这个:

$(function () {

    $("#profile_image").css('background-image', 'url(/profile.png)');
    $.get("/getDetails")
        .done(function (data) {
            if (data.filename == 'Profile') {
                $("#profile_image").css('background-image', 'url(' + data.route + ')');
                $("#deleteProfileImage").show();
            }
    });

});
它显示的是初始毫秒,因为它是在您的代码中编写的,它首先显示默认图像,然后检查用户是否存在该图像,然后用默认图像替换它


我将默认图像移动到else条件,以便仅在上载的用户图像不可用时显示它。

将其作为变量从控制器传递到视图文件中。。。使用php逻辑返回默认或自定义照片名称。是的,这是一个加载问题。您的css将默认显示为bg。当ajax等待响应时,直到响应未到达,才会显示背景图像。可能在本地和缓存上是一毫秒,但也可能是几秒钟。。。为什么用ajax加载图像而不是默认设置?所以更好的做法是不用ajax加载图像,对吗?@Anish Choudhary,谢谢。但是页面刷新,有毫秒的时间,没有图像显示。页面加载后,如果用户具有将显示的配置文件图像。我的目的是如何在页面预加载时查看图像。是否要在加载页面之前显示默认图像,然后在加载用户图像时使用默认图像替换用户图像?
$(function () {

    $("#profile_image").css('background-image', 'url(/profile.png)');
    $.get("/getDetails")
        .done(function (data) {
            if (data.filename == 'Profile') {
                $("#profile_image").css('background-image', 'url(' + data.route + ')');
                $("#deleteProfileImage").show();
            }
    });

});