向下滚动时如何更改徽标?

时间:2016-12-15 10:42:37

标签: javascript jquery html css

我有一个问题,我无法解决我的问题,所以我需要你的帮助。在my site上,我集成了JQuery,可以在向下滚动时更改标题背景和颜色,并且效果很好。但问题是,当有人向下滚动时,我还希望徽标更改为黑色版本。我试过这个JQ:

jQuery(document).scroll(function(){
if(jQuery(this).scrollTop() > 300)
{   
   jQuery('#navigation').css({"background":"white"});
   jQuery('.menu-item').css({"color":"black"}); 
   jQuery('.site_logo').css({"-webkit-filter":"invert(.8)"}); 
  jQuery('.site_logo').css({"filter":"invert(.8)"});
} else {
   jQuery('#navigation').css({"background":"transparent"});
  jQuery('.menu-item').css({"color":"white"});
}
});

什么将白色反转为黑色,但红色反转为绿色,所以它不像我预期的那样。我有黑色版本的徽标,所以我问你,当有人向下滚动时如何更改黑色徽标?

2 个答案:

答案 0 :(得分:1)

您的意思是如何访问src属性?

SELECT 
    O.ID  AS OrderID,
    smsFDGPatientOrder.ID AS PatientOrderID,
    dense_rank() over (order by smsFDGPatientOrder.ID ) as IndexID,
    --'Example' AS IndexID,
    smsFDGPatientOrder.Isotope,
    smsFDGPatientOrder.ActualIsotope,
    OS.StatusID StatusID,
    NCS.StatusID AS NoChangeStatusID,
    smsFDGPatientOrder.[Order] AS FDGOrderID,
    smsFDGPatientOrder.ExamDate,
    smsFDGPatientOrder.ActualExamDate,
    smsFDGPatientOrder.Indication,
    smsFDGPatientOrder.[Procedure],
    smsFDGPatientOrder.ActualProcedure
FROM 
    dbo.smsFDGOrder O WITH(NOLOCK)
INNER JOIN 
    [dbo].[smsFDGPatientOrder] as smsFDGPatientOrder WITH(NOLOCK) ON smsFDGPatientOrder.[Order] = O.[ID]
CROSS APPLY
    (SELECT TOP 1 OS.StatusID 
     FROM dbo.smsFDGOrderStatus OS  WITH(NOLOCK)
     WHERE OS.FDGOrder = O.ID 
     ORDER BY OS.TimeAdded DESC, OS.ID DESC) OS
OUTER APPLY
    (SELECT TOP 1 OS.StatusID 
     FROM dbo.smsFDGOrderStatus OS  WITH(NOLOCK)
     WHERE OS.FDGOrder = O.ID  AND OS.StatusID != 3
     ORDER BY OS.TimeAdded DESC, OS.ID DESC) NCS
INNER JOIN 
    dbo.smsStatus S  WITH(NOLOCK) ON S.ID = OS.StatusID
LEFT JOIN 
    dbo.smsStatus NOChange WITH(NOLOCK) ON NOChange.ID = NCS.StatusID
WHERE 
    (S.Status IN ('In Queue'))
     AND (S.Status != 'Changed' OR NOChange.Status IN ('In Queue')) 
ORDER BY  
    O.ID

希望有所帮助,如果没有让我知道你需要什么,我会尽力帮助

答案 1 :(得分:0)

滚动回顶部后,您没有删除过滤器。 改变你的JS

System.out.println(String.format("...", args))

还有更好的方法(好看的)在滚动上更改图像,因此您可以在滚动之前和之前实现与徽标完全相同的设计

jQuery(document).scroll(function(){
  if(jQuery(this).scrollTop() > 300){   
    jQuery('#navigation').css({"background":"white"});
    jQuery('.menu-item').css({"color":"black"}); 
    jQuery('.site_logo').css({"-webkit-filter":"invert(.8)","filter":"invert(.8)"}); 
  } else {
    jQuery('#navigation').css({"background":"transparent"});
    jQuery('.menu-item').css({"color":"white"});
    jQuery('.site_logo').css({"-webkit-filter":"none","filter":"none"});
  }
});
相关问题