如何在没有CSS的情况下更改PNG颜色?

时间:2018-09-06 04:30:54

标签: javascript html css

所以我有一个import configureMockStore from "redux-mock-store"; import thunk from "redux-thunk"; import * as jobActions from "../../../app/javascript/actions/JobActions" import { findAction } from '../support/redux_store' import * as JobActionTypes from '../../../app/javascript/constants/JobActionTypes' import fixtures_jobs_unscheduled_success from '../fixtures/jobs_unscheduled_success' import moxios from "moxios"; export const mockStore = configureMockStore([thunk]); let store; describe ('loadUnassignedJobs', () => { context('when bad parameters are passed', async () => { it('will raise an error', () => { const store = mockStore(); expect(() => { store.dispatch(jobActions.loadUnassignedJobs('wrong_type')); }).to.throw('Job Type must be "unscheduled" or "overdue".'); }); }); context('when unscheduled is passed', () => { beforeEach(() => { moxios.install(); console.log("before each called"); console.log(moxios.requests); store = mockStore(); store.clearActions(); }); afterEach(() => { console.log("after each called"); console.log(moxios.requests); moxios.uninstall(); }); context('on success', () => { beforeEach(() => { moxios.wait(() => { let request = moxios.requests.mostRecent(); request.respondWith({ status: 200, response: fixtures_jobs_unscheduled_success }); }); }) it('dispatches LOAD_UNASSIGNED_JOBS_STARTED', () => { store.dispatch(jobActions.loadUnassignedJobs('unscheduled')).then(() => { expect(findAction(store, JobActionTypes.LOAD_UNASSIGNED_JOBS_STARTED)).to.be.eql({ type: JobActionTypes.LOAD_UNASSIGNED_JOBS_STARTED, job_type: 'unscheduled' }); }); }); it('dispatches updateUnassignedJobs()', () => { store.dispatch(jobActions.loadUnassignedJobs('unscheduled')).then(() => { expect(findAction(store,JobActionTypes.LOAD_UNASSIGNED_JOBS_SUCCESS)).to.be.eql(jobActions.updateUnassignedJobs(fixtures_jobs_unscheduled_success.jobs)) }); }); }); context('on error', () => { beforeEach(() => { //console.log("before each on error called"); //console.log(moxios.requests); moxios.wait(() => { console.log('after waiting for moxios..') console.log(moxios.requests); let request = moxios.requests.mostRecent(); request.respondWith({ status: 500, response: { error: 'internal server error' } }); }); }) it('dispatches LOAD_UNASSIGNED_JOBS_FAILURE', (done) => { console.log(moxios.requests); store.dispatch(jobActions.loadUnassignedJobs('unscheduled')).then(() => { console.log(moxios.requests); console.log(store.getActions()); expect(findAction(store, JobActionTypes.LOAD_UNASSIGNED_JOBS_FAILURE)).to.include({ type: JobActionTypes.LOAD_UNASSIGNED_JOBS_FAILURE }); expect(findAction(store, JobActionTypes.LOAD_UNASSIGNED_JOBS_FAILURE).error).to.include({ message: 'Request failed with status code 500' }); done(); }); }); it('does not dispatch LOAD_UNASSIGNED_JOBS_SUCCESS', (done) => { store.dispatch(jobActions.loadUnassignedJobs('unscheduled')).then(() => { expect(findAction(store, JobActionTypes.LOAD_UNASSIGNED_JOBS_SUCCESS)).to.be.undefined; done(); }); }); }) }); }); describe('updateUnassignedJobs', () => { it('assigns jobs to hash and creates an unassigned_job_ids array', () => { expect(jobActions.updateUnassignedJobs([ { id: 1, step_status: 'all_complete' }, { id: 2, step_status: 'not_started' } ])).to.be.eql( { type: JobActionTypes.LOAD_UNASSIGNED_JOBS_SUCCESS, jobs: { 1: { id: 1, step_status: 'all_complete' }, 2: { id: 2, step_status: 'not_started' } }, unassigned_job_ids: [ 1,2 ] } ) }); }); 标签和一个<img>来源,我需要对其应用颜色更改。我在CSS中尝试了.png属性,但显然IE不支持该属性。我可以使用JavaScript知道吗?

1 个答案:

答案 0 :(得分:0)

也许您可以通过两种方式实现这一目标:

  1. 通过使用不同的png源文件,在事件发生时对其进行更改:

    • 使用纯JavaScript:

      var image = document.getElementById("my_image");

      image.src = "image_1.jpg";

    • 使用jQuery:

      $("#my_image").attr("src","image1.jpg");

  2. 通过为您的png透明显示在其下方应用的background-color

    • 使用纯JavaScript:

      var image = document.getElementById("my_image");

      image.style.backgroundColor = "#0000ff"; // or "blue" or "rgba(0, 0, 255, 1.0)"

    • 使用jQuery:

      $("#my_image").css({ "background-color" : "#0000ff"});

欢呼